【Go 語言教程】Go 語言簡介
1 Go 語言介紹
Go 即Golang,是Google公司2009年11月正式對外公開的一門程式語言。
Go是靜態強型別語言,是區別於解析型語言的編譯型語言。
解析型語言——原始碼是先翻譯為中間程式碼,然後由解析器對程式碼進行解釋執行。
編譯型語言——原始碼編譯生成機器語言,然後由機器直接執行機器碼即可執行。
2 Go語言特性
跨平臺的編譯型語言
語法接近C語言
管道(channel),切片(slice),併發(routine)
有垃圾回收的機制
支援面向物件和麵向過程的程式設計模式
3 Go 語言特色
程式設計模式比較簡單,沒有複雜的設計模式
全部原始碼編譯到一個檔案,編譯速度很快
最新版本也有動態庫形式,對跨語言呼叫的支撐更到位
開源框架比較成熟,新崛起的網際網路公司都在用——如滴滴,uber,百度,阿里巴巴,oppo,vivo等
微服務的開發模式下Go語言是新寵
4 Go 擅長領域
服務開發,web的api開發,分散式服務叢集的開發
容器docker是go開源的產品,k8s等這些都是基於go語言的
對高併發、高效能的系統和服務支撐,Go語言對比其他語言有更快的開發速度,更高的開發效率
獨有的語言特性和設計模式routine,channel,sync包支撐了海量並行的支援。
所以能看到這些領域都在使用Go語言:微服務開發模式,api開發,rpc服務開發,遊戲服務開發等等
5 Go語言的helloworld例子
helloworld 原始碼
package main import "fmt" func main() { fmt.Println("Hello, 世界") }
原始碼簡單說明:其中package是go語言中以包為概念,一般包對應著目錄名字(對應著名字也方便看和提升效率),當然main的包是個特殊的包,不需要目錄名字一致。import是對一個不是本包的外面的包的引入,go語言有個特點對於不使用的包引入了,是會編譯出錯,報錯說沒有使用已經引用的包。
fmt是go語言的一個系統模組,跟格式化和console的輸出有關。所有的語言程式設計都會有main方法入口,對於有些沒有的話其實框架本身底層封裝了而已。
執行結果
Hello, 世界
關於本專欄——Go 語言教程,專欄致力於為希望可以系統地,一條一條地,一步一步的學習Go語言的朋友提供一個可以持續閱讀的地方,當然也希望可以通過我的實踐經驗以及相應的基礎,可以給你一些學習之外的想法和總結,以及提高。如果真的有幫助,哪怕一點點,可以把這個一點點的提高分享給我,歡迎跟我勾搭聯絡。