type Symbol … type Kind … const Invalid … const Type … const Func … const Var … const Const … const Field … const Method … func (kind Kind) String() string { … } type Version … // String returns a version string of the form "go1.23", without allocating. func (v Version) String() string { … } var versions … func init() { … } // HasPackage reports whether the specified package path is part of // the standard library's public API. func HasPackage(path string) bool { … } // SplitField splits the field symbol name into type and field // components. It must be called only on Field symbols. // // Example: "File.Package" -> ("File", "Package") func (sym *Symbol) SplitField() (typename, name string) { … } // SplitMethod splits the method symbol name into pointer, receiver, // and method components. It must be called only on Method symbols. // // Example: "(*Buffer).Grow" -> (true, "Buffer", "Grow") func (sym *Symbol) SplitMethod() (ptr bool, recv, name string) { … }