Q: Go에서 패키지의 모든 공개 메소드를 어떻게 나열합니까?
A : 사용되지 않는 기능을 제거하는 Go의 최적화로 인해 Go에서 패키지의 공개 메소드를 나열하는 것은 직접적으로 불가능합니다. 그러나 사용 사례에 따라 잠재적인 솔루션이 있습니다.
정적 분석:
예:
import ( "fmt" "go/ast" "go/parser" "go/token" "os" ) // ... funcs := []*ast.FuncDecl{} for _, pack := range packs { for _, f := range pack.Files { for _, d := range f.Decls { if fn, isFn := d.(*ast.FuncDecl); isFn { funcs = append(funcs, fn) } } } } fmt.Printf("all funcs: %+v\n", funcs)
외부 호출:
위 내용은 Go 패키지의 공개 메소드를 어떻게 나열할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!