go语言简介

goland语言学习路程

我们拼命奋斗,不是为了改变世界,只是为了不被世界改变 ---- 熔炉

为什么要学习goland语言(简称go语言)

go语言是一门新生语言,从出现的时候就受到大家喜爱
下面来谈谈他的优点

  1. 语法简单
抛开语法样式不谈,单单就谈语言的简单性 go语言存在于简单和复杂的两个极端,C简单到你写下每一行代码,都能在脑海中想出编译后的样子,指令如何执行,内存如何分配,等等。而C的复杂在于,他存在太多的不着边际的规则,而Go语言,当你学起来的时候,你就会发现,go的规则严谨,条理简单,轻松上手
  1. 并发模型
时至今日,并发编程已经成为一个程序员的基本功能,在各个社区都能看到相关的讨论话题,在这种情况下,go语言再出了一个极其大胆的事情,从根本上去解决问题,运行时用Goroutine 运行这一切,包括main 入口函数
搭配上channel 实现CSP模型 将并发单元间的数据耦合拆分开来,各司其职,这对所有纠结于内存共享、锁粒度的开发人员来说都是一个可期盼的解脱
  1. 内存分配
将一切并发化固然很好,但是带来的问题同样很多,如何实现高并发下的内存分配和管理是个难题。好在Go选择了tcmalloc,他本来就是为了高并发而实现的高性能内存分配组件
  1. 垃圾回收
垃圾回收一直是个难题,早年java就因为垃圾回收低效而被嘲笑,在Hadoop的大环境下,垃圾回收依旧捉襟见肘。而且相比java而言,go语言面临的问题就更艰难。因为指针的存在导致回收内存不能做收缩处理,不过幸好,指针运算被阻止,否则要做到精确回收都难。
  1. 静态链接
go刚刚发布的时候,静态链接被当做优点宣传。只做编译后的一个可执行文件,无须附加任何东西就能部署。这似乎不错,但是后面风气变了,但是,现在每次运行之后,都使用buildmode模式,做到静态编译,将运行时,依赖库直接打包到可执行文件内部,简化了部署和发布操作
  1. 标准库
学习编程语言,早就不是学一点语法规则就可以了,现在我们更习惯称之为生态圈,而这其中标准库的作用和分量尤为明显,而go语言这几年也算是独树一帜,大批优秀作品频繁涌现,这也给我们学习go提供了很好的参照
  1. 工具链
完整的工具链对于我们开发同样也很重要,go在这里做的相当不错,无论是编译、格式化、错误检查、帮助文档、还是第三方打包下载、更新、都有对应的工具,其功能虽然不算完全完善,但是起码算得上是简单易用,除此以外,还可以通过环境变量输出运行时监控信息,尤其是垃圾回收和并发调度跟踪
    • *

详情请参照:http://c.biancheng.net/view/

文章转载Go语言中文网

Tags:golandgo语言
上一篇
打赏
下一篇

添加新评论