gpt4 book ai didi

GoLang, "hash.Write", "write()"函数是从哪里来的?

转载 作者:IT王子 更新时间:2023-10-29 01:33:58 30 4
gpt4 key购买 nike

func hash(s string) uint32 {
h := fnv.New32a()
h.Write([]byte(s))
return h.Sum32()
}

对于这段代码。我明白 h 是什么类型。它是哈希。但是对于 Hash 类型,我没有看到任何 Write() 方法。 http://golang.org/pkg/hash/这是什么 Write()?

谢谢

最佳答案

Hash接口(interface)嵌入 Writer界面。因此,任何类型想要实现Hash接口(interface),也需要实现包含Write方法的Writer接口(interface)。

使用 Write 方法的原因是您可以计算任何可以写入的内容的哈希值。例如,您可以计算一个对象的格式化表示的哈希值(使用 fmt 包),或者您可以计算 json 表示的哈希值(使用 json 包)等。

h := fnv.New32a()
fmt.Fprint(h, myobject)
// alternatively:
// json.NewEncoder(h).Encode(myobject)
// etc.
return h.Sum32()

关于GoLang, "hash.Write", "write()"函数是从哪里来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23713146/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com