我希望的Golang的feature

如果有下面的功能,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。不理解为什么不支持这个远古功能,忘了?


待续。。。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页