Go语言 如何获取围棋语言函数的注解?

8cdiaqws  于 2023-06-03  发布在  Go
关注(0)|答案(3)|浏览(180)

如何获取围棋语言函数的注解?示例:

// @annotation1
// @annotation2
func Tags() string {
        return ""
}

如何获取“@annotation1”和“@annotation2”?

wdebmtf2

wdebmtf21#

简短的回答是,Golang中没有对注解的原生支持。如果标签使用了什么,可以从reflect包中获得。
所以,你在Go中没有注解,据我所知,没有提供注解的库。根据您想要做的事情,通常标记就足够了,您可以使用语言的强大功能来实现所需的结果。
应该可以实现它们,因为您可以获得文档字符串,就像PHP一样。然而,在大多数情况下,这是不必要的。
编辑:
在Go中,你可以通过ast包访问结构体、字段、方法、接口、函数(godoc并不神奇)的文档。但是,它需要解析文件,没有像PHP中那样的type.getDocComments()函数。
因此,实现在理论上是可能的。然而,您所要求的注解根本不是Golang哲学的一部分。有很多库广泛使用标记,但没有一个库使用注解。

92dk7w1h

92dk7w1h2#

我不知道有任何原生支持从注解中拉取特定标签的东西--然而,godoc的内置功能确实从与函数直接相邻的注解中拉取标签。如果您正在尝试构建文档,这可能很有用。
除了godoc之外,我知道golang plugin for IntelliJ还将这些注解作为内联完成和建议的帮助/文档。
希望这有帮助!

13z8s7eq

13z8s7eq3#

你可以看看这个digo工具作为参考。https://github.com/werbenhu/digo它通过注解实现依赖注入。

相关问题