這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
閱讀go項目源碼時,不方便知道interface有哪些struct實現,很不方便。
list-interfaces這個工具,用來分析go項目源碼,幫你快速找出interface有哪些struct實現。
list-interfaces使用
list-interfaces --codedir /appdev/gopath/src/github.com/contiv/netplugin \--gopath /appdev/gopath \--outputfile /tmp/result參數說明--codedir 要分析的代碼目錄--gopath GOPATH環境變數目錄--outputfile 分析結果儲存到該檔案
輸出範例:
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-interfaces
下載地址
如果你的系統是fedora25 x86_64或相容的系統,可以下載已編譯好的二進位包。
http://oog2gj1e8.bkt.clouddn.com/list-interfaces