Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GoLang,MethodName前面括号中的内容是什么?_Go - Fatal编程技术网

GoLang,MethodName前面括号中的内容是什么?

GoLang,MethodName前面括号中的内容是什么?,go,Go,MethodName前面的括号中的内容是什么?我是说这个(t*t) 这来自这里: 我试图理解golang rpc,并看到了这个方法定义 谢谢 方法是带有接收器的函数。方法声明绑定 标识符(方法名称)与方法关联,并将该方法关联 与接收器的基本类型 给定类型点,声明 将具有接收器类型*点的方法长度和比例绑定到 基本类型 这是方法接收器 方法是带有接收器的函数。方法声明绑定 标识符(方法名称)与方法关联,并将该方法关联 与接收器的基本类型 给定类型点,声明 将具有接收器类型*点的方法长度和比例

MethodName前面的括号中的内容是什么?我是说这个(t*t)

这来自这里: 我试图理解golang rpc,并看到了这个方法定义

谢谢

方法是带有接收器的函数。方法声明绑定 标识符(方法名称)与方法关联,并将该方法关联 与接收器的基本类型

给定类型点,声明

将具有接收器类型*点的方法长度和比例绑定到 基本类型

这是方法接收器

方法是带有接收器的函数。方法声明绑定 标识符(方法名称)与方法关联,并将该方法关联 与接收器的基本类型

给定类型点,声明

将具有接收器类型*点的方法长度和比例绑定到 基本类型


这是方法接收者。

@peterSO的回答完全正确,但这也是Go语法的一个非常基本的部分。如果您不熟悉它,您应该花几分钟时间在tour.golang.org上完成教程。Go做的很多事情与其他语言非常不同(有时根本不同),因此,根据以前的经验,尝试凭直觉判断发生了什么是很困难的。例如,术语
MethodName
可能会让您认为
T
是一个类,
T
是一个对象。但在围棋中,这不是正确的思考方法,如果你这样做,你会很快迷失方向。@peterSO的回答完全正确,但这也是围棋语法的一个非常基本的部分。如果您不熟悉它,您应该花几分钟时间在tour.golang.org上完成教程。Go做的很多事情与其他语言非常不同(有时根本不同),因此,根据以前的经验,尝试凭直觉判断发生了什么是很困难的。例如,术语
MethodName
可能会让您认为
T
是一个类,
T
是一个对象。但在Go中,这不是正确的思考方式,如果这样做,您可能会很快迷失方向。从规范中添加另一句话可能有助于读者更好地理解正在发生的事情:“据说该方法绑定到其接收器基类型T,并且该方法名仅在类型T或*T的选择器中可见。”从规范中添加另一句话可能有助于读者更好地理解正在发生的事情:“该方法被称为绑定到其接收器基类型T,并且该方法名称仅在类型T或*T的选择器中可见。”
func (t *T) MethodName(argType T1, replyType *T2) error
func (p *Point) Length() float64 {
    return math.Sqrt(p.x * p.x + p.y * p.y)
}

func (p *Point) Scale(factor float64) {
    p.x *= factor
    p.y *= factor
}