我想提取函数的签名,以便能够在其上生成一些包装方法。为此,我正在使用它,它为我提供了阅读AST的可能性。golang.org/x/tools/go/packages
例如,对于函数定义,您会收到一些func MyFunc(param int)
ast.FuncDecl{ Type: *FieldList{ List: []*Field{ { Names: []*Ident{ /*...*/ }, Type: nil, /*...*/ }, }, }, }
其中“类型”表示类型。
我想为所有参数生成一些特殊代码,但int也可以用一些类型声明隐藏int
type MyType int
如何将类型转换为编译器具有的实际类型?ast
largeQ
相关分类