This question already has answers here:
Whats the difference of functions and methods in Go?
(3个答案)
Parameter before the function name in Go? [duplicate]
(1个答案)
1年前关闭。
在已声明的函数
(3个答案)
Parameter before the function name in Go? [duplicate]
(1个答案)
1年前关闭。
type TestContent struct {
x string
}
//CalculateHash hashes the values of a TestContent
func (t TestContent) CalculateHash() ([]byte, error) {
h := sha256.New()
if _, err := h.Write([]byte(t.x)); err != nil {
return nil, err
}
return h.Sum(nil), nil
}
在已声明的函数
CalculateHash()
中,为什么在函数名称之前写入了数据类型t TestContent
?返回类型不是应该写在函数名称之后吗? 最佳答案
(t TestContent)
不是返回类型。 (t TestContent)
表示CalculateHash
是TestContent
结构的方法。该函数的返回类型为([]byte, error)
。
它用于TestContent
的实例,即:
var t TestContent
bytes, err := t.CalculateHash()
09-10 06:22