當面對長字串時,Go 程式設計師經常會遇到平衡可讀性和效率的困境。提供的程式碼片段展示了兩種方法:原始引號和連接引號。
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中文網其他相關文章!