分享
  1. 首页
  2. 主题
  3. Go问与答

Go Interface 问题

myth · · 960 次点击 · 开始浏览 置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

我想问下关于interface 的问题 Go 的实现类是不是不会强制 实现类 实现 接口中的所有方法? 可以看到 我下面的方法 GoPragrammer 中只实现了 Programmer 中的writeCode 方法, 并没有实现 studyCode, 但是GoProgrammer 中这个类是没有报错, 是可以继续执行的. 1. 那么我的理解就是GoPragrammer 中并不属于 Programmer的实现类 只有当GoPragrammer 实现了 studyCode 的时候 才算 实现类 那么问题来了, 那go的接口意义在哪? 反正没有强制实现,那自己的类完全可以自己玩啊. ``` type Code struct { code string } //定义一个接口 type Programmer interface { //定义接口的方法 writeCode() Code studyCode() Code } type GoPragrammer struct { } func (p *GoPragrammer) writeCode() Code { code := Code{ code: "Go", } return code } func TestInterface(t *testing.T) { goPragrammer := new(GoPragrammer) t.Log(goPragrammer.writeCode().code) } ```

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

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

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

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)