1
私はGolangドキュメントの解析に次のコードを使用しています。 "ts"はast.TypeSpecです。私はStructTypeなどをチェックすることができますが、ts.Typeは "int"です。 intやその他の基本型に対してどのようにアサートすることができますか?Golangのint型にast.TypeSpecをアサートする方法は?
ts, ok := d.Decl.(*ast.TypeSpec)
switch ts.Type.(type) {
case *ast.StructType:
fmt.Println("StructType")
case *ast.ArrayType:
fmt.Println("ArrayType")
case *ast.InterfaceType:
fmt.Println("InterfaceType")
case *ast.MapType:
fmt.Println("MapType")
}
この場合、私はbt:= fmt.Sprintf( "%s"、ts.Type)を使うことができると思います。どれが良いか分かりません。 –
通常、fmt.Sprintfが印刷するものよりも、ASTを検査するためにメソッドとフィールドを使用する方が良いです。 –