Go中函数名前面的参数?

时间:2017-08-11 18:50:10

标签: go

我看到一些Go函数定义如下:

type poly struct {
    coeffs [256]uint16
}

func (p *poly) reset() {
    for i := range p.coeffs {
        p.coeffs[i] = 0
    }
}

您可以稍后将其称为:

var p poly
p.reset()

我还没有在其他编程语言中看到这个,我知道。重置功能中p *poly的目的是什么?它似乎像一个函数参数,但在函数名之前写入。有什么澄清吗?

1 个答案:

答案 0 :(得分:5)

这意味着reset()*poly上的一种方法。这是非常基本的Go;你真的需要从Go tour开始。试图在没有基本理解其语法的情况下阅读Go将会非常混乱。