Golang又简称为Go,Golang是一个始於2009年由Google开源的程序语言,由Google的一个团队与其他外部贡献者依同开发。Go旨於简化软件开发过程,尤其是对於复杂的架构与开发过程。
由Go是基於C语言开发的。并且也继承了C的规范语法,并在进行了一些更动与功能优化的情况下,允许开发者安全地管理内存。
而Go承诺代码效率,这也让他们成为企业将产品微服务化的首选,像是以下的公司都有使用Golang进行优化或者是产品发开:
...etc
Golang是一门编译程序语言,这意味着他需要先被转化成程序能读懂的格式才能进行运行,与
Java类似。也因为Golang精简且去冗地开发流程,使他已经被证明运行效率优於Java以及Python。详情请见 Go vs Java 与 Go vs Python
有别於C或是Java,Golang的学习时间与曲线会相对较短,尤其对於有着其他语言开发经验的开发者,因Golang是基於C开发而成,虽然关键字与语法略有不同,但有经验开发者能在Go身上找到其他语言的影子因而加快熟悉速度。
最大的理由应该是Go有着Goroutine,它是个可以同时独立运行的process。
一个Goroutines仅占用2Kb,这也使得它在同时需要运行多个并发的process时可以很容易的扩展。Goroutine与Java的Thread不同,Goroutines 是non-blocking。你也可以当Goroutines当成是一个结合Javascript async approach与Java multi-threading好处的产物。
作为一款开源的程序语言,它有着许多不同编译器、IDE以及插件的支持,你也可以从Github下载许许多多由Go所开发的专案。
基於 Hired ,Go荣登 #1全球最受欢迎的程序语言,目前也有越来越多的公司开始使用Go,这也表示有更多的开发人员开始学习Golang,因此学习Golang可能会为你的职涯带来更多的价值。
Golang比起一些dynamic programming language像是Python与Php,还是需要较多的代码才能完成类似的功能。因为前者严格来说还算是一门简单的编译语言。
Golang目前只发展了十二年,还是个相当年轻的程序语言。也因此他的SDK亦或者是第三方套件比起其他的程序语言来说少蛮多的。
Go并不支持通用函数,开发者需要创建多个footprint of functions来处理各类型的参数,就像是Golang基於C一样,缺乏对泛型函数的支持会严重限制代码的可重用性,并降低开发过程中的效率。
这也是在某些开发领域设计当中,使用Python等能支持泛型函数的语言会更优於Go。
Golang或许不是一门最优秀的程序语言,但它在Google的扶持下,必定能在Backend以及DevOps领地有着属於它的一席之地,也因此在未来的篇章当中将会围绕着Golang基本语言特性以及Golang於Web Backend的开发进行解说。
对此,我们这三十天会将教学分为三大部分:
希望透过这三十天的学习能让笔者与读者对GO能够有更深入的了解!!
GitHub Action 的 workflow 是以 YAML 档案进行设定 (副档名为 .yml...
自从国高中我的房间出现了电脑,虽然是很废的文书机,但它还是在夜深人静的凌晨抚慰我睡不着的心情。方形的...
最近浏览了一下其他先进的文章,发现大家都很有梗耶,今天标题来致敬一下这位大大:Docker兽 究极进...
工程师太师了: 第3.5话 杂记: 因为主角是被我非自愿离职的, 所以今天的科普内容是非自愿离职。 ...
这个得上一篇:https://ithelp.ithome.com.tw/articles/10261...