You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何格式化多行字符串字面量,满足linter校验的同时保证代码美观

优化方案

针对Go语言长格式化字符串的换行需求,社区主流有两种常用的美观解决方案,都可以满足linter行长度限制要求:

方案1:编译期字符串拼接(最推荐,适合不需要内置换行的普通错误信息)

Go编译器会自动将相邻的字符串字面量拼接为一个整体,没有任何运行时性能损耗,也不会在最终字符串中引入多余的换行、缩进字符:

return nil,
    "",
    errors.Errorf(
        "nil cursor returned when querying for transactions for block hash %s, " +
        "page token %s and limit %d",
        blockHash,
        pageToken,
        limit,
    )

优点:

  • 输出的错误信息和将字符串写在同一行的效果完全一致
  • 排版整齐,符合Go官方格式化规范,go fmt可以自动适配缩进
  • 无额外开销,兼容性强

方案2:调整反引号字面量缩进(适合需要内置换行的多行文本场景)

如果你确实需要保留字符串内的换行,可以将反引号包裹的内容顶格编写,避免引入多余的前导缩进空格:

return nil,
    "",
    errors.Errorf(
`nil cursor returned when querying for transactions for block hash %s,
page token %s and limit %d`,
        blockHash,
        pageToken,
        limit,
    )

内容的提问来源于stack exchange,提问作者septerr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:45:03