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

时间:2019-12-07 16:55:07

标签: go

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

说,我想查看crypto下的所有子软件包。

go doc crypto仅列出crypto定义的内容,但没有有关其子包(例如crypto/aescrypto/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 ...
...

1 个答案:

答案 0 :(得分:1)

如果要查看特定软件包下的所有子软件包,可以使用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返回的结果,则可以编写脚本。

老实说,我认为使用标准库文档的最好方法是Go网站:https://golang.org/pkg/

您还可以启动本地godoc网络服务器以阅读Go代码的文档:

godoc -http=:6060

*open your browser and visit localhost:6060*