go - 如何获取go语言函数的注解?

标签 go

如何获取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/

相关文章:

go - Benchmark 给出命令执行超时

multithreading - atomic.Load 和atomic.Store 的意义是什么

go - go 中 dev 和 prod env 的不同 const 值

去获取 github.com/beego/bee 安装错误

url - 在 Go 中添加查询字符串 url

regex - 使用 Golang 正则表达式在字符串中查找数字

go - 使用 golang 播放音频文件

go - 无法分配给v [i],请引用数组问题?

reflection - 通过 Go 中的反射检测空值的快速方法

reactjs - 如何在客户端隐藏 firebaseConfig 信息