在func中f括号后的括号是什么意思?

时间:2015-09-02 19:42:59

标签: go

作为Go初学者,我stumbled across codefunc

之后直接有括号
func (v Version) MarshalJSON() ([]byte, error) {
  return json.Marshal(v.String())
}

那么(v Version)是什么意思?

1 个答案:

答案 0 :(得分:9)

这不是一种功能,而是一种方法。在这种情况下,它将MarshalJSON方法添加到Version结构类型。

v是接收值的名称(类似于Java方法中的 this 或Python中的 self ),Version指定我们将方法添加到的类型。

有关详细信息,请参阅go by example,以及specification了解详情。