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

  • 本文关键字:包下 何列出 Go 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 ...
...

如果你想查看特定包下的所有子包,你可以使用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 库文档的最佳方式是 Go 网站:https://golang.org/pkg/。

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

godoc -http=:6060
*open your browser and visit localhost:6060*

最新更新