如何获取go语言功能的注释? 例如:
// @annotation1
// @annotation2
func Tags() string {
return ""
}
如何获得" @ annotation1"和" @ annotation2"?
答案 0 :(得分:2)
简短回答,Golang中没有对注释的原生支持。标签可以使用什么,您可以从reflect
包中获取。
所以,你在Go中没有注释,据我所知,没有提供它们的库。根据你想要做的事情,通常标签绰绰有余,你可以使用语言的力量来达到预期的效果。
应该可以实现它们,因为你可以获得文档字符串,就像PHP一样。但是,绝大多数情况下都没有必要。
编辑:
在Go中,您可以通过ast
包访问结构,字段,方法,接口,函数(godoc并非神奇)的文档。但是,它需要解析文件,没有PHP中的type.getDocComments()
等功能。
因此,理论上可以实现一种实现方式。但是,你所要求的那种注释根本不是Golang哲学的一部分。有很多库广泛使用标签,但没有使用注释。
答案 1 :(得分:1)
我不知道对从注释中提取特定标记的内容的任何原生支持 - 但是,godoc的内置功能确实来自与函数直接相邻的注释。如果您正在尝试构建文档,这可能很有用。
除了godoc,我知道golang plugin for IntelliJ将这些评论作为内联完成和建议的帮助/文档。
希望这有帮助!