go语言可以实现动态绑定么?

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

比如 php

$a = new(....);
$a->func();

这样的机制,能用go语言实现么?

因为我这边现在有很多种类,要实现的功能是一样的,但是对应的数据库之类的不同,go语言可以实现么?用反射好像并不行?求大神指教


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

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

1636 次点击  
加入收藏 微博
10 回复  |  直到 2017-09-22 10:05:25
channel
channel · #1 · 8年之前

非得把静态语言当做动态语言使?

看你的需求,感觉应该用 interface{} 来实现啊

jack_tan
jack_tan · #2 · 8年之前
channelchannel #1 回复

非得把静态语言当做动态语言使? 看你的需求,感觉应该用 interface{} 来实现啊

interface{},大致思路可以指教一下么?不是要把静态语言当动态语言,是因为不这样的话,用switch写的话,就很多冗余的代码。当然实在是没办法了,也只能switch了。

channel
channel · #3 · 8年之前

OOP 告诉我们,switch 代码,可以采用多态重构,虽然 Go 非纯的 OOP,但 interface 可以做不少事情

jack_tan
jack_tan · #4 · 8年之前
channelchannel #3 回复

OOP 告诉我们,switch 代码,可以采用多态重构,虽然 Go 非纯的 OOP,但 interface 可以做不少事情

我刚刚看书,好像看到了可以,我去试试,十分感谢

sevenhe
sevenhe · #5 · 8年之前

接口加上反射感觉可以的,switch的语法也不错的啊,go反射的源码很多地方也用了switch的,可读性也不错。

jack_tan
jack_tan · #6 · 8年之前
sevenhesevenhe #5 回复

接口加上反射感觉可以的,switch的语法也不错的啊,go反射的源码很多地方也用了switch的,可读性也不错。

接口是可以实现的,反射也用到了一些。switch当然是可以的啦,最开始就是想的用switch,但是考虑到代码的扩展性,后面新增一个种类的话,需要在很多个文件里面加大量跟其他种类的代码,就想找其他方法了

hshd123
hshd123 · #7 · 8年之前

可以试试反射

jack_tan
jack_tan · #8 · 8年之前
hshd123hshd123 #7 回复

可以试试反射

反射不行的,我试了几天没成功的。接口加反射可以

yuanrr
yuanrr · #9 · 8年之前

面向协议(interface)编程~~~

jack_tan
jack_tan · #10 · 8年之前
yuanrryuanrr #9 回复

面向协议(interface)编程~~~

是的。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传