Go 程序设计语言书中第二章有一个例子没看懂...

Go
(c Celsius) 在这里起了什么作用? 强制转换? 书中没讲呢. 给个方向也可以.
谢谢.

pardon110
最佳答案

主要告诉你该方法的宿主是值 Celsius类型的变量c
其写法与如下函数等价,函数调用方式 String(c)

func(c Celsius) String{return fmt.Spfrinf("%g C",c)}

只不过你写的调用方式是这样c.String(), 使用了点运算符。

3年前 评论
讨论数量: 6

基础都不学,还看什么

3年前 评论

这个确实是基础,去过一遍文档吧

3年前 评论

这个是把函数绑定到struct上面,变成struct方法,函数的作用相当于其他语言实现了toString()

3年前 评论
pardon110

主要告诉你该方法的宿主是值 Celsius类型的变量c
其写法与如下函数等价,函数调用方式 String(c)

func(c Celsius) String{return fmt.Spfrinf("%g C",c)}

只不过你写的调用方式是这样c.String(), 使用了点运算符。

3年前 评论

结构体的函数集合,模拟类的实现

3年前 评论

@licxisky 参考最佳答案.

file

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!