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是go語言中以包為概念,一般包對應著目錄名字(對應著名字也方便看和提升效率),當然main的包是個特殊的包,不需要目錄名字一致。import是對一個不是本包的外面的包的引入,go語言有個特點對於不使用的包引入了,是會編譯出錯,報錯說沒有使用已經引用的包。
fmt是go語言的一個系統模塊,跟格式化和console的輸出有關。所有的語言編程都會有main方法入口,對於有些沒有的話其實框架本身底層封裝了而已。
運行結果