栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Go中语义注释的用途是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Go中语义注释的用途是什么?

如前所述,注释不仅是注释,而且是指令。

撰写本文时没有确定的清单。记录为golang问题28532。

因此,我建议使用此答案来做一个。

用于go核心语言和工具本身:

  • go:generate可用于代码生成。
  • godoc使用函数名称表示应解释的注释
  • 示例 -记录测试的预期输出(感谢@Butuzov)
  • 构建约束(以’ // + build ‘ 开头)
  • 导入注释,例如’ package math //导入“路径”

第三方软件包中的显着用途

  • gocontracts-指定前提条件作为注释
  • go- swagger-使用swagger记录ReST API
  • golangci,例如// nolint [:linter1,linter2,…]

他们如何避免彼此冲突?

如果您要开发的工具确实需要将注释视为属性,并希望避免与其他类似用途发生冲突,请在注释之前添加一个名称空间,例如“ {mytool} :“

有一些有意识的命名空间尝试。内置到go中的魔术注释使用“ go:”作为“ go:generate”的前缀(除非没有)

go-swagger使用“ swagger:”

但是,您仍然需要谨慎处理此问题,并检查此处的列表或您可以找到的任何其他来源。

还应考虑使用注释是最佳方法还是唯一方法,而不是使用函数。比较例如(gocontracts):

// SomeFunc ensures://  * !strings.HasSuffix(result, "smth")func SomeFunc(x int) (result string) {    // ...}

与(godbc)

func SomeFunc(x int) (result string) {    godbc.Require(strings.HasSuffix(result,"smth");}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号