golang是一门很独特的语言, 属于实战派系列. 最喜欢的两门语言python和golang.
现在感觉, go相比python , 有一些自己独特的特点, 前景巨大.
(1)开发效率高.
golang的开发效率市非常高的, 虽然属于静态语言. 但是编译速度, 开发速度都是非常快的. 当然, 我们不和python动态语言相比了. 这个得益于gotool, 这个非常强大的命令行工具.
(2)语言成分相当干净, golang的关键字只有25个. 取消了大量的oop特性. 但是我们发现, 那些特性取消了, 我们照样能够实现一样非常强大的功能, 甚至更强大. 按照创始人的说法就是, 既然那些功能特性并没有带来非常明显的性能的提升, 我们就不用再背着这个包袱了, 所以golang是极简,实用的.
比如, 我们取消了oop的继承, 转而使用组合的方式. golang中没有函数重载, 没有运算符重载. 甚至连流程语句都精简到if ,switch, for了. 连while都拿掉了.
(3) 语言上进行工程规范的约束. 比如, 大括号的摆放---限制为一种风格, 这个和python把缩进加入语言限制很像. 这样可读性好
(4) 采用包管理的方式. 这个是非常好的, 几乎就和python的一样, 包管理方式能够最大的解偶, 清晰的管理项目.
(5) 语言级别就支持并发. 这个是golang最大的亮点. 采用协程, 最大的减少的线程带来的开销.
(6) 接口, 这个是非常非常有趣的一个亮点. 和python一样, 同样是鸭子模型. 也就是像什么就是什么, 但是和python又有区别. python一般是重载一些预定义的接口协议, 比如__iter__和__next__, 这样就能够使得对象运用与所有的迭代环境. 也就是像迭代器所以变成了迭代器.
golang的特点在于, 任何类型, 自定义的, 内置的....只要你实现了某个接口的所有方法. 那么这个接口就能够存储你的值, 代表你. 这个接口的方法名称不限.
有疑问加站长微信联系(非本文作者)