我正在学习 go 语言并在一些网络资源的帮助下编写我的第一个 go 程序:package mainimport ( "fmt" "crypto/sha512" "encoding/base64")func main() { ba := []byte("HelloWorld") hasher := sha512.New() hasher.Write(ba) sha := base64.StdEncoding.EncodeToString(hasher.Sum(nil)) fmt.Printf(sha)}它编译并按预期工作,但我无法自己编写此代码,因为如果我查看sha256的 Go 包参考,我看不到Write()和Sum()方法。在哪里可以找到此类信息?也许,我没有阅读好的文档,或者有一种我没有看到的“继承”。
3 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
hash.Hash
返回一个Hash
接口,其中包括io.Writer
. 如果你检查io.Writer
,你会发现一个Writer
接口,它有一个Write()
方法。由于sha512
包确实实现了 Write 方法,因此您可以将 调用Write
为hasher
方法。
访问接口的唯一要求是实现自定义范围中定义的方法。
- 3 回答
- 0 关注
- 193 浏览
添加回答
举报
0/150
提交
取消