请教同行们一个关于go方法的问题

930415915 · 2017-03-07 08:18:12 · 2170 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-03-07 08:18:12 的主题,其中的信息可能已经有所发展或是发生改变。

假设定义一个结构体

type A struct{
}

定义一个方法:

func (self *A) SayHi() {
        fmt.println("你好")
}

我想问方法第一个括号里加 * 与不加 * 有什么区别。测试好像没什么区别。请高手指点下。 我是在网上看到下面这句话才想问的,我不太懂。

对于接口的执行机制: 
1.T仅拥有属于T类型的方法集,而*T则同时拥有(T+*T)方法集
2.基于T实现方法,表示同时实现了interface和interface(*T)接口
3.基于*T实现方法,那就只能是对interface(*T)实现接口

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2170 次点击  
加入收藏 微博
6 回复  |  直到 2017-03-09 08:24:23
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传