猿问

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

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

我在看JSON 解码

这是包中的一个函数:

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

这里有类似的表示法:

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

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


精慕HU
浏览 158回答 1
1回答

森林海

这两个函数是方法,因为它们与接收器相关联。在每个方法声明中,(dec *Decoder)描述了接收者。如果你有一个*Decoder被叫的decoder,你Buffered可以像这样调用它:reader := decoder.Buffered()看看在围棋指导课程关于这一主题。
随时随地看视频慕课网APP

相关分类

Go
我要回答