你能解释一下func关键字和函数名之间的参数吗?

时间:2015-08-17 21:55:41

标签: function go

我是该语言的新手,到目前为止我所阅读的内容并未解释这里发生的事情。

我在看JSON decoding

这是包中的一个函数:

func (dec *Decoder) Decode(v interface{}) error

这里有类似的符号:

func (dec *Decoder) Buffered() io.Reader

这些功能如何访问(dec *Decoder)?鉴于第二个函数没有参数,我猜这不是必须直接在函数调用中传递但类似的东西?

1 个答案:

答案 0 :(得分:4)

这两个函数是methods,因为它们与接收者相关联。在每个方法声明中,(dec *Decoder)描述了接收器。如果您有一个名为*Decoder的{​​{1}},则可以像这样致电decoder

Buffered

请查看有关此主题的the Go tutorial lesson