簡體   English   中英

`go list` 在 Go 的工具集中有什么作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM