Entwickler stehen oft vor der Herausforderung, mit umfangreichen String-Literalen in Go umzugehen, insbesondere mit solchen, die sich über mehrere Zeilen erstrecken. Dies kann zu Formatierungsproblemen und Lesbarkeitsproblemen führen. Hier besprechen wir die Best Practices für die Verwaltung langer String-Literale in Go.
Rohe Anführungszeichen können verwendet werden, um lange Strings in (Backslash-)Symbolen einzukapseln. Dadurch kann sich das Literal über mehrere Zeilen erstrecken, ohne dass eine Verkettung oder spezielle Formatierung erforderlich ist. Alle führenden oder nachgestellten Leerzeichen innerhalb der Anführungszeichen werden jedoch in die resultierende Zeichenfolge einbezogen.
db.Exec(`UPDATE mytable SET (I, Have, Lots, Of, Fields) = ('suchalongvalue', 'thisislongaswell', 'ohmansolong', 'wowsolong', 'loooooooooooooooooooooooooong')`)
In diesem Beispiel sind die führenden Leerzeichen vor jedem Feldwert Teil der endgültigen Zeichenfolge, was zu unangenehmen Leerzeichen führt läuft.
Bei verketteten Anführungszeichen wird die lange Zeichenfolge in kleinere Teile zerlegt und diese mithilfe des Operators verbunden. Dieser Ansatz bietet mehr Kontrolle über Zeilenumbrüche und ermöglicht eine sauberere Formatierung.
db.Exec("UPDATE mytable SET (I, Have, Lots, Of, Fields) = " + "('suchalongvalue', 'thisislongaswell', 'ohmansolong', " + "'wowsolong', 'loooooooooooooooooooooooooong')")
Diese Methode bietet zwar mehr Flexibilität, kann jedoch fehleranfällig sein und zu Code führen, der auf den ersten Blick schwer zu lesen ist.
Ein alternativer Ansatz, der die Klarheit roher Zitate mit der Bequemlichkeit verketteter Zitate kombiniert, ist die Verwendung von a Von Backticks umschlossene Vorlagenzeichenfolge. Mit dieser Methode kann sich die Zeichenfolge über mehrere Zeilen erstrecken, ohne dass Leerzeichen am Anfang oder Ende eingefügt werden.
q := `UPDATE mytable SET (I, Have, Lots, Of, Fields) = ` + "`('suchalongvalue', " + "`\n" + "`'thisislongaswell', " + "`\n" + "`'wowsolong', " + "`\n" + "`loooooooooooooooooooooooooong')` db.Exec(q)
Dieser Ansatz kombiniert die Vorteile von einfachen und verketteten Anführungszeichen und bietet eine saubere und lesbare Lösung für den Umgang mit langen Zeichenfolgen Literale in Go.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit langen String-Literalen in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!