[英]What does `go list` do in Go's toolset?
go list
有一些不一致的行為,我很難理解。 當我輸入go help list
命令時,它說:
usage: go list [-f format] [-json] [-m] [list flags] [build flags] [packages]
List lists the named packages, one per line.
這對我來說沒有多大意義。 它列出了哪些“命名包”? 我在命令的末尾看到,有一個[packages]
參數。 它是否列出了那里提到的軟件包? 這對我來說不清楚。 有幾次,我在 go 項目工作目錄中運行了go list
,該目錄有一個 go.mod 甚至 vendor 目錄,我得到的只是當前項目的單個輸出。 help
頁面還指出:
The default output shows the package import path:
bytes
encoding/json
github.com/gorilla/mux
golang.org/x/net/html
我不知道這里在說什么。 對我來說,這實際上是 4 個完全獨立的軟件項目一個接一個的列表,沒有明顯的關系。
請更好地描述這個工具的作用,特別是它列出了哪些“命名包”,也許還有一些常見的用例和例子,以及任何潛在的副作用。
它列出了哪些“命名包”? 我在命令的末尾看到,有一個 [packages] 參數。 它是否列出了那里提到的軟件包?
是的,包由命令的packages
參數命名。 運行go help packages
以獲取有關指定包的信息。
有幾次,我在 go 項目工作目錄中運行了 go list,該目錄有一個 go.mod 甚至 vendor 目錄,我得到的只是當前項目的單個輸出
packages
參數默認為當前工作目錄中的包。 命令go list
打印包在當前工作目錄中的導入路徑。
默認輸出顯示包導入……這實際上是 4 個完全獨立的軟件項目的列表,一個接一個,沒有明顯的關系。
這部分文檔顯示了一些示例包的默認輸出格式。 使用[-f format]
或[-json]
指定其他輸出格式。
文檔中的示例輸出由命令go list bytes encoding/json github.com/gorilla/mux golang.org/x/net/html
。
一些用例:
go list all
:打印主模塊和所有依賴項的導入路徑。
go list -f {{.Dir}} github.com/gorilla/mux
:打印包 github.com/gorilla/mux 的目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.