如何获取Go语言函数的注释?例子:
// @annotation1
// @annotation2
func Tags() string {
return ""
}
Run Code Online (Sandbox Code Playgroud)
如何获取“@annotation1”和“@annotation2”?
T. *_*rie 15
简而言之,Golang 中没有对注释的原生支持。if 标签正在使用什么,您可以从reflect
包中获取这些标签。
因此,Go 中没有注释,而且据我所知,没有提供注释的库。根据您想要执行的操作,通常标签就足够了,您可以利用语言的强大功能来实现所需的结果。
应该可以实现它们,因为您可以获得文档字符串,就像 PHP 一样。然而,在大多数情况下,这是没有必要的。
编辑:
在 Go 中,您可以通过包访问结构体、字段、方法、接口、函数(godoc 并不神奇)的文档ast
。不过它需要解析文件,没有type.getDocComments()
PHP那样的功能。
因此,理论上实现是可行的。然而,您所要求的注释类型根本不是 Golang 哲学的一部分。有很多库广泛使用标签,但没有一个使用注释。