为了账号安全,请及时绑定邮箱和手机立即绑定

多行字符串文字的缩进样式

多行字符串文字的缩进样式

Go
慕后森 2021-09-13 10:28:59
缩进原始字符串文字的建议样式是什么?如果我根据第一行缩进它,它可能无法在具有不同制表符长度的编辑器中正确对齐。例如:if select == nil {    select, err = db.Prepare(`select name                              from table                              where id=$1`)    if err != nil {        return nil, err    }}我发现了这个问题,但我仍然不清楚:Best practice for long string literals in Go我应该像下面那样做吗?if select == nil {    select, err = db.Prepare(`select namefrom tablewhere id=$1`)    if err != nil {        return nil, err    }}
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

考虑到这两个命题都会在文字字符串中添加换行符或空格,我会赞成(即使fmt格式化第一行):


    select, err = db.Prepare(

     `select name

from table

where id=$1`)

正如 下面的OP akonsu评论的那样,它似乎与 golang 代码本身的风格一致,如 中所示src/cmd/go/main.go#L175,它将第一行保持在开头 ' ('的级别


var usageTemplate = `Go is a tool for managing Go source code.

Usage:

go command [arguments]

...

`


查看完整回答
反对 回复 2021-09-13
?
PIPIONE

TA贡献1829条经验 获得超9个赞

关于 SQL,空格无关紧要,所以这只是个人喜好。就我而言,由于 SQL 是一种与 Go 不同的语言,我喜欢确保 SQL 代码与 Go 代码不共享任何行:


if select == nil {

   select, err = db.Prepare(`

   select name

   from table

   where id = $1

   `)

   if err != nil {

      return nil, err

   }

}


查看完整回答
反对 回复 2021-09-13
  • 2 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信