【问题标题】:What is the purpose of the commented import statement after the package statement?package 语句后注释的 import 语句的目的是什么?
【发布时间】:2021-05-04 14:17:04
【问题描述】:

一些包在包语句之后有一个带注释的导入语句。一个例子可见here

. . .
package truetype // import "github.com/golang/freetype/truetype"
. . .

它出现在模块内的包上。并非包的所有文件都有此注释。

这条评论的目的是什么?为什么会在那里?

我在 go 规范中没有找到任何关于此的内容。

【问题讨论】:

  • 这定义了必须在哪个导入路径下导入包。
  • @blackgreen:但它可能与文档混淆这一事实是我不喜欢 Go 的各种基于注释的技巧的一个重要原因。
  • @Volker 自从我们使用 go.mod 以来,这已经过时了。我可以忽略它吗?是不是被 go.mod 文件中的模块名替换了?
  • @chmike:现在go.mod 是多余的,不再需要了

标签: go


【解决方案1】:

这是用于自定义导入路径。

请参阅import path checking 文档以及this SO answer

如果一个包语句有“导入注释”,则称它为 紧随其后(在下一个换行符之前)是其中一个的评论 这两种形式:

package math // import "path"
package math /* import "path" */

go 命令将拒绝安装带有导入注释的包 除非它被该导入路径引用。这样, import cmets 让包作者确保自定义导入路径 使用,而不是指向底层代码托管站点的直接路径。

【讨论】:

  • 补充一下,随着 go 模块的使用,它已经过时了。
猜你喜欢
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
相关资源
最近更新 更多