2 回答
TA贡献1834条经验 获得超8个赞
(t TestContent)不是返回类型。(t TestContent)表示这CalculateHash是TestContent结构体的一个方法。这个函数的返回类型是([]byte, error)。
它用于 的实例TestContent,即:
var t TestContent
bytes, err := t.CalculateHash()
TA贡献1887条经验 获得超5个赞
实际上,它是一个方法声明。来自文档:
方法是带有接收器的函数。方法声明将标识符(方法名称)绑定到方法,并将方法与接收者的基类型相关联。
MethodDecl = "func" [Receiver][1] MethodName Signature [ FunctionBody ] .
Receiver = Parameters .
然而:
Go 没有课程。但是,您可以在类型上定义方法。方法是具有特殊接收器参数的函数。接收者出现在 func 关键字和方法名称之间的自己的参数列表中。
因此,在您的示例中,(t TestContent)是方法声明的接收者。
以下 python 片段大致是 Golang 版本:
#!/usr/bin/env python3
class TestContent:
def __init__(self):
self.x: str = ""
def CalculateHash():
pass
testContent = TestContent()
testContent.CalculateHash = CalculateHash
- 2 回答
- 0 关注
- 138 浏览
添加回答
举报