加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

再会,Python!你好,Go说话

发布时间:2019-02-02 00:37:47 所属栏目:建站 来源:AI前线小组 译
导读:Go 说话降生于谷歌,由计较机规模的三位宗师级大牛 Rob Pike、Ken Thompson 和 Robert Griesemer 写成。因为身世王谢,Go 在降生之初就吸引了大批开拓者的存眷。降生十年以来,已经涌出了许多基于 Go 的应用。就在不多久之前,知乎也舍弃了 Python,转 用

我每次看到品评 Go 说话的文章时,内里讲的险些都是 Go 说话对要害特征的缺失,好比泛型。我倒是以为没有泛型没什么影响——你会发明,行使map和切片(Slice)就能实现多得惊人的操纵。可是我在行使 Go 说话的进程中碰着了许多其他题目。

缺乏机动性

起首,Go 说话也许是我用过的说话里最“坚强”的说话了。好比,它除了会强制你行使 tab 而不是空格键缩进(假设你用了 gofmt 器材),会强制你行使特定的文件组织布局,还会强制你在 GOPATH 情形变量中编程,云云等等。这种说话有太多灾以改变的特征了。Go 说话简朴易学的缘故起因之一生怕就是你不能改变这些特征。假如你不肯意将全部首字母大写的变量名 export 一遍,那真是歉仄了。荣幸的是,Go 的这些特征倒是没有得罪我的原则底线,可是假若有人以为内里的某些要求基础无法理喻,我也可以或许领略。对比之下 Python 就机动多了。

库支持有点差劲

在这方面把 Go 说话和 Python 做较量有些不公正。Go 的呈现比 Python 晚许多,但当我发明有些成果 Go 居然不支持的时辰,照旧认为很狐疑。我乃至发明 StackOverflow 上许多人 po 出了本应该作为内置成果的代码段,并且各人都必要该成果,纷纷将代码复制粘贴到本身的项目下。这类成果不该该嵌入到说话内部吗?说到这里,我想到了近几年的两个例子:

  • 给切片排序(荣幸的是在 Go 1.8 版本中这点利便多了)
  • Math.round 只支持整数,不能举办浮点数的取整(好比你想找一个最靠近 0.5 的整数,Go 说话就无法完成)。乃至在 Go 1.10 版本之前,基础没有 math.round 函数

虽然,这些题目的缘故起因有一部门是 Go 说话没有泛型,另一部门是由于 Go 的开拓者们只给 Go 的尺度库中添加最最须要的成果。

这两点我都领略,可是在碰着很小的题目却必要本身写代码办理时照旧感想烦恼。

但愿跟着 Go 说话的成长,它的题目会变得越来越少。

Go 和 Python 你更喜好谁?接待留言交换!

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读