fmt.Sprintf には非常に長い行があります。コードで分割するにはどうすればよいですか?すべてを 1 行にまとめたくないので、コードが見苦しくなります。
fmt.Sprintf("a:%s, b:%s ...... this goes really long")
次のように、バッククォート内で生の文字列リテラルを使用することもできます。
columns := "id, name"
table := "users"
query := fmt.Sprintf(`
SELECT %s
FROM %s
`, columns, table)
fmt.Println(query)
このアプローチにはいくつかの注意事項があります。
FROM
、このクエリの句の前に改行といくつかのタブがあります。これらの問題は一部の人にとっては困難な場合があり、空白は醜い結果の文字列を生成します。ただし、長くて複雑な SQL クエリをコードの外部や、テスト用の SQL ワークシートなどの他のコンテキストにコピー アンド ペーストできるため、このアプローチを好みます。
別のオプションはstrings.Builder
次のとおりです。
package main
import (
"fmt"
"strings"
)
func main() {
b := new(strings.Builder)
fmt.Fprint(b, "North")
fmt.Fprint(b, "South")
println(b.String() == "NorthSouth")
}