功能:用于输出路径包的详细信息
go list 默认情况下只输出后边的路径包信息,用的最多的标记是 -f , -json,后边会说明。
-json 标记,后面若跟有路径包则已 json 格式打印出代码包的结构体形式,若不写路径包,比如:go list -json 则打印出当前所在目录包中的结构体样式。其中 json 结构体输出会参照一个模板输出说明,如下:
参数名 | 类型 | 含义 |
---|---|---|
Dir | string | 代码包所在的目录 |
ImportPath | string | 代码包的导入路径 |
Name | string | 代码包名 |
Doc | string | 代码包文档字符串 |
Target | string | 代码包编译后的 .a 文件安装路径 |
Shlib | string | 该代码包共享库的名称 |
Goroot | bool | 该代码包是否在go语言的安装目录 |
Standard | bool | 该代码包是否是go标准库中的一部分 |
Stale | bool | 该代码包的最新版本是否安装了 |
StaleReason | string | 对Stale = true 时进行解释说明 |
Root | string | 该代码包所在的go安装目录或go工作区目录 |
ConflictDir | string | 在工作区中的隐藏目录 |
BinaryOnly | bool | 该二进制包是否可以重新编译 |
ForTest | string | 仅用户测试用的测试包名字 |
Export | string | 包含导出数据的文件(使用 -export 标记情况下) |
有关源文件输出字段说明 | ||
GoFiles | string[] | 路径包的 go 源码文件,不包含“c”文件,和源码测试文件 |
CgoFiles | stringp[] | 导入代码包“c”的 go 源码文件 |
CompiledGoFiles | string[] | 路径包编译过的 go 源码文件(仅加上 -compiled 生效) |
IgnoredGoFiles | string[] | 忽略路径包下编译过的 源码文件列表 |
CFiles | string[] | 路径包下“.c”文件列表 |
CXXFiles | string[] | 路径包下“.cc,.cxx,.cpp”文件列表,比如c++文件 |
MFiles | string[] | 路径包下“.m”文件列表 |
HFiles | string[] | 路径包下“.h,.hh,.hpp,.hxx”文件列表 |
FFiles | string[] | 路径包下“.f,.F,.for,.f90”文件列表 |
SFiles | string[] | 路径包下“.s”文件列表 |
SwigFiles | string[] | 路径包下“.swig”文件列表 |
SwigCXXFiles | string[] | 路径包下“.swigcxx”文件列表 |
SysoFiles | string[] | 路径包下可用于存档的“.syso”文件列表 |
TestGoFiles | string[] | 路径包下“_test.go”文件列表 |
XTestGoFiles | string[] | 路径包外“_test.go”文件列表 |
代码结构体中与Cgo指令有关模板字段说明 | ||
CgoCFLAGS | string[] | 需要传递给"C编译器"标记的 cgo 指令 |
CgoCPPFLAGS | string[] | 需要传递给"C预处理器"标记的 cgo 指令 |
CgoCXXFLAGS | string[] | 需要传递给"C++编译器"标记的 cgo 指令 |
CgoFFLAGS | string[] | 需要传递给 Fortran编译器 标记的 cgo 指令 |
CgoLDFLAGS | string[] | 需要传递给"连接器"的标记的 cgo 指令 |
CgoPkgConfig | string[] | pkg-config 名称列表 |
代码包中结构体中依赖信息有关字段 | ||
Imports | []string | 当前路径包下显示导入其他包的信息列表 |
Deps | []string | 路径包下所有包信息(包括间接依赖信息) |
TestImports | []string | 路径包下测试文件中显示导入的代码包列表 |
XTestImports | []string | 路径包之外的测试文件中显示导入的代码包列表 |
结构体中错误信息的模板 | ||
Incomplete | bool | 路径包或及其依赖包是否有错误信息 |
Error | *PackageError | 载入或分析代码包时出错 |
DepsErrors | []*PackageError | 载入或分析依赖包是出错 |
其他标记含义:
-deps 标记不仅会把路径包打印出来,并把其依赖包信息也打印出来。
包层级越深优先打印出来,所以当前路径包最后打印出来。命令行下将不会显示列出信息包,除非将 DepOnly 字段设置为true。
-e 标记将会忽略路径包下错误信息输出。默认情况下命令行将会以标准形式输出路径吧的错误信息
-export 标记将输出路径包下
-find 将会打印出自身路径包(不包括去依赖包,Imports 和 Deps 模板字段将不会打印出来)
-test 标记会打印出自身路径包已经包下对应的二进制可执行文件信息。二进制文件路径所在信息最后是已 “.test” 结尾的,比如:math/rand.test.
这里只列出了 go list 命令标记的其中之一,更多详情可以查看光放文档