Maison > développement back-end > Golang > Comment gérer les littéraux de chaînes longues dans Go : chaînes brutes, concaténation ou chaînes de modèles ?

Comment gérer les littéraux de chaînes longues dans Go : chaînes brutes, concaténation ou chaînes de modèles ?

DDD
Libérer: 2024-11-17 08:41:03
original
385 Les gens l'ont consulté

How to Handle Long String Literals in Go: Raw Strings, Concatenation, or Template Strings?

Options étendues pour gérer les littéraux de chaînes longues dans Go

Lorsqu'ils sont confrontés à des littéraux de chaînes longues, les programmeurs Go sont souvent confrontés au dilemme de l'équilibre entre lisibilité et efficacité. L'extrait de code fourni présente deux approches : les guillemets bruts et les guillemets concaténés.

1. Chaînes brutes

db.Exec(`UPDATE mytable SET (I, Have, Lots, Of, Fields) = ('suchalongvalue', 'thisislongaswell', 'ohmansolong', 'wowsolong', 'loooooooooooooooooooooooooong')`)
Copier après la connexion

Bien que les guillemets bruts constituent un moyen pratique de définir des chaînes multilignes, ils présentent un inconvénient potentiel. Les espaces et les nouvelles lignes précédents sont inclus dans la chaîne résultante, ce qui peut introduire des espaces disgracieux dans le champ de la base de données.

2. Citations concaténées multiples

db.Exec("UPDATE mytable SET (I, Have, Lots, Of, Fields) = " + 
    "('suchalongvalue', 'thisislongaswell', 'ohmansolong', " +
    "'wowsolong', 'loooooooooooooooooooooooooong')")
Copier après la connexion

La concaténation de plusieurs chaînes entre guillemets offre une approche plus flexible. Cependant, il introduit des sauts de ligne et des erreurs de syntaxe potentielles s'il n'est pas soigneusement géré.

Approche alternative : chaînes de modèles

Pour obtenir une solution propre et efficace, de nombreux programmeurs Go choisissent pour les chaînes de modèles :

q := `UPDATE mytable SET (I, Have, Lots, Of, Fields) = ` +
     `('suchalongvalue', ` + 
     `'thisislongaswell', ` +
     `'wowsolong', ` + 
     `loooooooooooooooooooooooooong')`

db.Exec(q)
Copier après la connexion

Les chaînes de modèles combinent la lisibilité des chaînes brutes avec la flexibilité de la concaténation. En utilisant des backticks (``) comme délimiteurs de chaîne et une interpolation de chaîne pour concaténer des valeurs, nous créons une chaîne visuellement agréable et syntaxiquement correcte. Cette approche est considérée comme Go idiomatique et est fortement recommandée pour gérer les littéraux de chaînes longues.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal