長い文字列リテラルに直面すると、Go プログラマは読みやすさと効率のバランスをとるというジレンマに遭遇することがよくあります。提供されているコード スニペットは、生の引用符と連結された引用符という 2 つのアプローチを示しています。
1.生の文字列
db.Exec(`UPDATE mytable SET (I, Have, Lots, Of, Fields) = ('suchalongvalue', 'thisislongaswell', 'ohmansolong', 'wowsolong', 'loooooooooooooooooooooooooong')`)
生の引用符は複数行の文字列を定義する便利な方法ですが、潜在的な欠点もあります。結果の文字列には先行するスペースと改行が含まれており、データベース フィールド内に見苦しいギャップが生じる可能性があります。
2.複数の連結された引用符
db.Exec("UPDATE mytable SET (I, Have, Lots, Of, Fields) = " + "('suchalongvalue', 'thisislongaswell', 'ohmansolong', " + "'wowsolong', 'loooooooooooooooooooooooooong')")
複数の引用符で囲まれた文字列を連結すると、より柔軟なアプローチが得られます。ただし、慎重に管理しないと、改行や潜在的な構文エラーが発生します。
代替アプローチ: テンプレート文字列
クリーンで効率的なソリューションを実現するために、多くの Go プログラマーは次のオプションを選択します。テンプレート文字列の場合:
q := `UPDATE mytable SET (I, Have, Lots, Of, Fields) = ` + `('suchalongvalue', ` + `'thisislongaswell', ` + `'wowsolong', ` + `loooooooooooooooooooooooooong')` db.Exec(q)
テンプレート文字列は、生の文字列の読みやすさと連結の柔軟性を兼ね備えています。バックティック (``) を文字列の区切り文字として使用し、文字列補間を使用して値を連結することで、見た目が良く、構文的に正しい文字列を作成します。このアプローチは Go の慣用的なアプローチとみなされ、長い文字列リテラルを処理する場合に強く推奨されます。
以上がGo で長い文字列リテラルを処理する方法: 生の文字列、連結、またはテンプレート文字列?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。