我希望的Golang的feature

kefeng_chen · · 1774 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

如果有下面的功能,Go可以让程序员更高效。

1. 数学类型的自动转换。现在做个整数跟浮点数的计算也要手动转类型。据说是为了更安全和可预测的代码。但是其他主流语言都支持自动转,大家早就习惯了。需要考虑类型安全的地方,该考虑的人自然会去考虑。

2. Polymorphism的支持。interface对多态的支持还是比较有限。down casting做不了有的时候还是不大方便。比如下面这段代码就编不过

type Base struct {
    xxxx
}

type Derived struct {
    Base
}

func main() {
    v1 := &Drived{}
    var v2 *Base

    v2 = v1 //编译不过
    v2 = *Base(v1) //也不行
}

3. 更方便的数组的操作比如Contains(这个很常用的东西没有实在是不方便),使用加号连接数组(每次要写append太不现代了),map(map和generator这样的东西有的时候用起来太方便了),排序(sort库使用起来还是不太方便)相比之下swift里面那个operator function就cool很多。

4. 更多的容器库,比如Set,SortedSet等

5. 动态链接库。刚知道的这个的时候还是有些吃惊,要取代C/C++语言,这个东西都不支持怎么可能?扩展起来岂不是很麻烦?

6. 更好的异常处理的支持。panic还是太麻烦,老是要敲重复的代码,手指头太累。

7. 带名字的参数表和参数默认值。这么好的东西干嘛不支持尼?

8. 宏。像__FILE__, __FUNCTION__这样的宏还是挺有用的。有些地方用宏定义可以节省很多代码。

9. 方法重载。跟7可以在一起实现。

10. 类方法。在方法名前加前缀也能模拟,但是很难看,不是吗?

11. 三元操作符。 x?x:x。不理解为什么不支持这个远古功能,忘了?


待续。。。

本文来自:CSDN博客

感谢作者:kefeng_chen

查看原文:我希望的Golang的feature

入群交流(和以上内容无关):Go中文网 QQ 交流群:798786647 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

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