如何获取go语言函数的注解? 示例:
// @annotation1
// @annotation2
func Tags() string {
return ""
}
如何获取“@annotation1”和“@annotation2”?
最佳答案
简短的回答,在 Golang 中没有对注解的原生支持。正在使用的 if 标签,您可以从 reflect
包中获取。
因此,您在 Go 中没有注释,据我所知,没有提供它们的库。根据你想做的事情,通常标签就足够了,你可以利用语言的力量来达到想要的结果。
应该可以实现它们,因为您可以获得文档字符串,就像 PHP 一样。但是,在大多数情况下,这不是必需的。
编辑:
在 Go 中,您可以通过 ast
包访问结构、字段、方法、接口(interface)、函数(godoc 并不神奇)的文档。但是需要解析文件,没有PHP中的type.getDocComments()
等函数。
因此,理论上可以实现。但是,您要求的注释类型根本不是 Golang 哲学的一部分。有很多库广泛使用标签,但没有一个使用注释。
关于go - 如何获取go语言函数的注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37488509/