閱讀go項目源碼時,不方便知道interface有哪些struct實現,很不方便。git
list-interfaces這個工具,用來分析go項目源碼,幫你快速找出interface有哪些struct實現。github
list-interfaces使用golang
list-interfaces --codedir /appdev/gopath/src/github.com/contiv/netplugin \ --gopath /appdev/gopath \ --outputfile /tmp/result 參數說明 --codedir 要分析的代碼目錄 --gopath GOPATH環境變量目錄 --outputfile 分析結果保存到該文件
輸出樣例:app
interface item 在文件/appdev/gopath/src/github.com/contiv/netplugin/vendor/google.golang.org/grpc/transport/transport.go中 有2個struct實現了接口 struct windowUpdate 在文件/appdev/gopath/src/github.com/contiv/netplugin/vendor/google.golang.org/grpc/transport/control.go中 struct settings 在文件/appdev/gopath/src/github.com/contiv/netplugin/vendor/google.golang.org/grpc/transport/control.go中
項目源碼倉庫工具
https://git.oschina.net/jscode/list-interfacesgoogle
下載地址.net
若是你的系統是fedora25 x86_64或兼容的系統,能夠下載已編譯好的二進制包。code