如何获取有关 Go 变量类型的信息

How can I get information about type of a Go variable

假设我在 Go 中有以下代码:

foo, bar := someFunc(baz) 

我想创建一个 Vim 函数来在编辑文件时检查 foobar 的类型。

对于我可以使用的 Go 包中的函数,是否有任何工具或可靠的信息来源?至于我正在编辑的文件中声明的函数,我正在考虑简单地解析该文件中声明的所有函数。

您正在寻找类似 godef

的内容

If the -t flag is given, the type of the expression will also be printed. The -a flag causes all the public members (fields and methods) of the expression, and their location, to be printed also; the -A flag prints private members too.

我知道它被各种 vim 和 emacs 脚本使用。

Go Oracle 可以做到这一点以及更多。

vim-go 是 Go 的完整 vim 设置。 它包括与前面提到的 godef(如 :GoDef)和 Go oracle(如 :GoImplements、:GoCallees、:GoReferrers 等)以及其他工具的集成。