如何列出特定Go包下的所有子包?

如何列出特定Go包下的所有子包?,go,Go,是否可以使用go doc查看特定包下定义的所有子包 比如说,我想查看crypto下的所有子包 go-doc-crypto只列出了crypto定义的内容,但没有列出关于其子包的信息,如crypto/aes和crypto/cipher: go doc crypto package crypto // import "crypto" Package crypto collects common cryptographic constants. func RegisterHash(h Hash, f

是否可以使用
go doc
查看特定包下定义的所有子包

比如说,我想查看
crypto
下的所有子包

go-doc-crypto
只列出了
crypto
定义的内容,但没有列出关于其子包的信息,如
crypto/aes
crypto/cipher

go doc crypto
package crypto // import "crypto"

Package crypto collects common cryptographic constants.

func RegisterHash(h Hash, f func() hash.Hash)
type Decrypter interface{ ... }
type DecrypterOpts interface{}
type Hash uint
    const MD4 Hash = 1 + iota ...
...

如果要查看特定软件包下的所有子软件包,可以使用
go list
命令:

go list crypto/...
crypto
crypto/aes
crypto/cipher
crypto/des
crypto/dsa
crypto/ecdsa
crypto/ed25519
crypto/ed25519/internal/edwards25519
crypto/elliptic
crypto/hmac
crypto/internal/randutil
crypto/internal/subtle
crypto/md5
crypto/rand
crypto/rc4
crypto/rsa
crypto/sha1
crypto/sha256
crypto/sha512
crypto/subtle
crypto/tls
crypto/x509
crypto/x509/pkix
最后,对于每个包,您可以使用
go-doc
命令获取文档

go doc crypto/x509
...
如果需要迭代由
go list
返回的结果,可以编写脚本

老实说,我认为使用std图书馆的doc最好的方式是Go网站:

您还可以启动本地
godoc
web服务器来读取Go代码的文档:

godoc -http=:6060

*open your browser and visit localhost:6060*

如果要查看特定软件包下的所有子软件包,可以使用
go list
命令:

go list crypto/...
crypto
crypto/aes
crypto/cipher
crypto/des
crypto/dsa
crypto/ecdsa
crypto/ed25519
crypto/ed25519/internal/edwards25519
crypto/elliptic
crypto/hmac
crypto/internal/randutil
crypto/internal/subtle
crypto/md5
crypto/rand
crypto/rc4
crypto/rsa
crypto/sha1
crypto/sha256
crypto/sha512
crypto/subtle
crypto/tls
crypto/x509
crypto/x509/pkix
最后,对于每个包,您可以使用
go-doc
命令获取文档

go doc crypto/x509
...
如果需要迭代由
go list
返回的结果,可以编写脚本

老实说,我认为使用std图书馆的doc最好的方式是Go网站:

您还可以启动本地
godoc
web服务器来读取Go代码的文档:

godoc -http=:6060

*open your browser and visit localhost:6060*

我不确定是否有
go-doc
,但是
go-list
可以执行类似
go-list-package/prefix/…
-注意三个点。请参阅;另外,围棋中没有“包下”或“子包”的概念,所以这个问题没有真正意义。@Flimzy-那么你怎么称呼“子包”呢?我想你不理解我的评论。您没有提到子包,因为没有子包。我不确定是否有
go doc
,但是
go list
可以做一些类似
go list package/prefix/…
-注意三个点。请参阅;另外,围棋中没有“包下”或“子包”的概念,所以这个问题没有真正意义。@Flimzy-那么你怎么称呼“子包”呢?我想你不理解我的评论。您没有提到子包,因为没有子包。谢谢您的练习答案。Go没有子包的概念,这是真的吗?
go-list-crypto/…
是如何工作的?它是否通过搜索整个目录层次结构在
GOPATH
工作区中查找名为“crypto”的包,然后列出该包下的所有子包?关于
go list
您可以找到它的文档。不定义子包。事实上,共享相同包名的每个文件集合都属于一个包。实现可能要求这些文件位于同一目录下。鉴于子目录确实存在,有人可能会认为也存在子包。事实上的标准是子包包含低级API,而高级包提供更抽象的API和接口
crypto
package就是一个例子。“如果您想查看所有子包”——Go中没有子包。“最好重新表述一下,这样才有意义。”Flimzy,谢谢你的否决票。嗯,这只是一个术语细节,即使go规范没有确切地报告“子包”的措辞,也并不意味着地鼠不能使用这个词。它方便地引用包含在一个包的子目录中的包,而不仅仅是术语。它是Go规范的一部分。子包意味着包之间的关系。Go包之间没有这种关系。Go包之间唯一定义的名称空间关系与
内部
包的使用有关。感谢您提供练习答案。Go没有子包的概念,这是真的吗?
go-list-crypto/…
是如何工作的?它是否通过搜索整个目录层次结构在
GOPATH
工作区中查找名为“crypto”的包,然后列出该包下的所有子包?关于
go list
您可以找到它的文档。不定义子包。事实上,共享相同包名的每个文件集合都属于一个包。实现可能要求这些文件位于同一目录下。鉴于子目录确实存在,有人可能会认为也存在子包。事实上的标准是子包包含低级API,而高级包提供更抽象的API和接口
crypto
package就是一个例子。“如果您想查看所有子包”——Go中没有子包。“最好重新表述一下,这样才有意义。”Flimzy,谢谢你的否决票。嗯,这只是一个术语细节,即使go规范没有确切地报告“子包”的措辞,也并不意味着地鼠不能使用这个词。它方便地引用包含在一个包的子目录中的包,而不仅仅是术语。它是Go规范的一部分。子包意味着包之间的关系。Go包之间没有这种关系。Go包之间唯一定义的名称空间关系与
内部
包的使用有关。