Go "葛朗",;hash.Write“,“在哪里?”;写();功能来自哪里?

Go "葛朗",;hash.Write“,“在哪里?”;写();功能来自哪里?,go,Go,对于这个代码块。我知道h是什么类型的。这是杂烩。 但是对于Hash类型,我没有看到任何Write()方法。这个Write()是什么 谢谢接口嵌入了接口。因此,任何想要实现哈希接口的类型,也需要实现包含Write方法的Writer接口 使用Write方法的原因是,您可以计算可以写入的任何内容的哈希值。例如,您可以计算对象的格式化表示的哈希(通过使用fmt包),或者可以计算json表示的哈希(通过使用json包),等等 func hash(s string) uint32 { h := fn

对于这个代码块。我知道h是什么类型的。这是杂烩。 但是对于Hash类型,我没有看到任何Write()方法。这个Write()是什么

谢谢

接口嵌入了接口。因此,任何想要实现哈希接口的类型,也需要实现包含Write方法的Writer接口

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

func hash(s string) uint32 {
    h := fnv.New32a()
    h.Write([]byte(s))
    return h.Sum32()
}
h := fnv.New32a()
fmt.Fprint(h, myobject)
// alternatively:
// json.NewEncoder(h).Encode(myobject)
// etc.
return h.Sum32()