为了账号安全,请及时绑定邮箱和手机立即绑定

golang的interface有什么用?

golang的interface有什么用?

Go
拉莫斯之舞 2019-01-29 21:01:03
golang的interface有什么用?
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

强类型语言为了保持动态语言的优势添加的。类似于java中的Object,用处可大了。golang的面向对象设计就是基于interface{}的。如果你没用到,那你应该是过程式编程

查看完整回答
反对 回复 2019-03-16
?
慕容708150

TA贡献1831条经验 获得超4个赞

需要明确interface和interface{}的区别,一个是go的语法机制用于数据抽象和解耦,一个是这个机制的具体实现。前者应该鼓励使用,而后者应该谨慎使用。
大型项目或基础项目的构建往往少不了用interface来实现数据抽象和接口。当然也要看具体需求,go不是强范式的,go/channel/interface/reflect这些特性也没有说一定用,只要你觉得代码架构能完美匹配需求就行。当然,也不是说你没用到的东西就没用,建议多看看不同类型的开源项目体会一下。
关于interface{},无论何时都应该谨慎使用,这个东西存在滥用风险,可维护性差。但本着go的实用主义哲学,如果能完美匹配需求,用用未尝不可。

查看完整回答
反对 回复 2019-03-16
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

不是说能完成各种业务,没用到的语言的特性就没用,反而该反思下,为什么自己没用到这个重要特性。
拿最简单常用的排序来说,没interface{},对于不同类型的参数你要写类似的代码n次,跟C++模板的思想类似。

查看完整回答
反对 回复 2019-03-16
  • 3 回答
  • 0 关注
  • 1288 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信