【发布时间】:2014-01-23 06:43:17
【问题描述】:
我在 Go 中有一个长字符串文字:
db.Exec("UPDATE mytable SET (I, Have, Lots, Of, Fields) = ('suchalongvalue', 'thisislongaswell', 'ohmansolong', 'wowsolong', 'loooooooooooooooooooooooooong')")
我看到了两种使这更易于管理的方法:原始引号或多个连接引号:
db.Exec(`UPDATE mytable SET (I, Have, Lots, Of, Fields)
= ('suchalongvalue', 'thisislongaswell', 'ohmansolong',
'wowsolong', 'loooooooooooooooooooooooooong')`)
db.Exec("UPDATE mytable SET (I, Have, Lots, Of, Fields) = " +
"('suchalongvalue', 'thisislongaswell', 'ohmansolong', " +
"'wowsolong', 'loooooooooooooooooooooooooong')")
第一个感觉更正确,但是前面的空格会包含在字符串中,导致结果字符串中出现尴尬的空格。这些中的任何一个都被认为是惯用的 Go 语言吗?
【问题讨论】:
-
使用原始引号。忽略带有原始引号的字符串的缩进。
-
“忽略缩进”是什么意思?有没有办法让编译器做到这一点,或者你的意思是我应该使用原始引号而不是在风格上缩进?
-
没错。使用原始引号时不要在风格上缩进。这就是所有标准代码的作用。
-
@FuZxxl 你想继续回答吗?这是您可以用作示例的链接golang.org/src/cmd/go/main.go#L172 :)
-
@MatrixFrog,我认为您的链接不再相关......