没有提供所需功能的运行时或反射方法或函数。
我能找到的最接近的东西是:
package mainimport ( "azul3d.org/lmath.v1" "fmt" "reflect")type Empty struct{}func main() { fmt.Println(reflect.TypeOf(Empty{}).PkgPath()) fmt.Println(reflect.TypeOf(lmath.Vec3{0, 0, 0}).PkgPath())}这将输出:
mainazul3d.org/lmath.v1
您还可以读取文件的第一行并删除“ package”子字符串。(不确定这是最好的主意)
package mainimport ( "bufio" "bytes" "fmt" "os")func main() { file, err := os.Open("so.go") if err != nil { panic(err) } r := bufio.NewReader(file) line, _, err := r.ReadLine() if err != nil { panic(err) } packageName := bytes.TrimPrefix(line, []byte("package ")) fmt.Println(string(packageName))}


