-
可直接编译成可执行文件,不依赖任何东西,部署就是扔一个文件上去就完成了。这点非常重要,无论是个人开发还是工作中的很多任务,尤其在需要到服务器上跑的最方便了,不需要配置环境什么的,相比Python好太多。谁用谁知道!!!
-
静态类型语言,但是有动态语言的感觉。起初我接触Python后因为它的简单喜欢上了,第三方库也非常丰富,但实际中静态语言的特性尤其是代码需要按固定的缩进编写,在服务器上的文本编辑器中非常不方便,而且还需要安装相关的依赖,效率其实并不高,当接触go一天后,我立刻意识到,这才是我心中理想的语言,从此彻底放弃了Python。静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高,支持函数式编程。
func main() { /*** *闭包调用, */ func(a int) { //闭包没有名字 println("闭包") println(a) }(1) //最后的一对括号表示对该匿名函数的调用 } 输出: 闭包 1
语言层面支持并发,这个就是Go最大的特色,天生的支持并发,我曾经说过一句话,天生的基因和整容是有区别的,大家一样美丽,但是你喜欢整容的还是天生基因的美丽呢?Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。
func main() { fmt.Println("aa") /*** *go关键字后面的方法就是一个协程 */ go func() { for i:=0;i<=10;i++ { fmt.Println("go go go") } }() fmt.Println("bb") time.Sleep(time.Second*3) } 输出: aa bb go go go go go go go go go go go go go go go go go go go go go go go go go go go go go go go go go
-
内置runtime,支持垃圾回收。
-
简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。
-
丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大,我最爱的也是这部分。
-
内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。
-
跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用。
-
内嵌C支持,前面说了作者是C的作者,所以Go里面也可以直接包含c代码,利用现有的丰富的C库。
-
开发效率高。我在公司工作是用Java,Java实现个东西真是啰嗦务必,在可以不要Java的场合,我都会使用go。
2、Go适合用来做什么
-
服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
-
脚本编程。你完全可以使用go当做Python来用,日常的各种自动化任务、小工具等都非常适合使用go编写
-
网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用、
-
云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。大名鼎鼎的docker就是用go开发的。
无论如何,对于一个编码近10年的老码农,我是非常的喜欢go,无论是初次学校编程的人,还是有编程经验的人,我也强烈推荐去了解和学习它,我相信你会慢慢地喜欢它。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/6832/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料