官术网_书友最值得收藏!

1.2 Go語言的優勢與特性

Go語言既有靜態編譯語言的安全和性能,又有動態語言開發維護的高效率。可簡單形容為:Go = C + Python,其主要特點如下:

1)從C語言中繼承了很多理念,包括表達式語法、控制結構、數據類型、指針等,也保留了C語言一樣的編譯執行方式。

2)引入包的概念,用于組織程序結構,一個文件歸屬于一個包,不能單獨存在。

3)垃圾回收機制,內存自動回收,無須開發人員管理,不用考慮內存泄漏的問題。

4)自帶并發支持,語言層面支持并發,實現簡單。Goroutine是輕量級線程,可以實現大并發處理,高效利用多核,它基于CSP(Communicating Sequential Processes)并發模型實現。

5)利用了通道通信機制,形成Go特有的通道(channel),通過通道可以實現不同的協程(goroute)之間的相互通信。

6)函數可以返回多個值(一般情況下,C語言只能返回一個值),并新增了特性功能,比如切片(slice)、延時執行(defer)等。

7)可直接編譯成機器碼,不依賴其他庫,但對glibc(glibc是GNU發布的libc庫,即C語言運行庫)版本有一定要求,上線部署只需將源碼打包成文件即可運行。

8)豐富的標準庫,目前已內置了大量的庫,特別是網絡編程庫非常強大。

當我們進行功能調試或項目部署的時候,都要運行代碼來檢測功能是否正常。如果當前計算機沒有搭建Go語言的開發環境,那么需要將Go語言的源碼文件打包成可執行文件,通過運行可執行文件啟動程序;如果當前計算機已有Go語言的開發環境,可以直接運行源碼文件啟動程序。兩種執行方式如圖1-1所示。

從圖1-1分析得知,Go語言的執行過程如下:

1)如果將Go語言的源碼文件打包成可執行文件,可以在任意一臺計算機中運行,但要保證計算機中必須有基本的C語言運行庫。

2)如果運行Go語言的源碼文件,計算機必須搭建了Go語言的開發環境,否則無法執行。

3)打包可執行文件的時候,Go語言的編譯器會根據源碼文件所需的庫打包到可執行文件中,導致可執行文件占用的空間較大。

圖1-1 Go語言的執行方式

打包可執行文件是對Go語言的源碼文件進行編譯,Go語言的源碼文件是以.go作為文件擴展名,由編譯器將源碼文件轉換為計算機可以直接識別的二進制碼文件。

在開發過程中,我們必須遵守Go語言的基本開發注意事項:

1)Go語言的源碼文件以.go作為文件擴展名。

2)程序的主入口以main()方法表示,并且不支持任何返回值和參數傳入。

3)代碼中嚴格區分大小寫。

4)一行代碼代表一個語句,不能把多個語句寫在同一行,否則編譯報錯。

5)定義的變量或導入的包在代碼中沒有被使用,程序會提示錯誤。

主站蜘蛛池模板: 肇东市| 车险| 轮台县| 茌平县| 泰宁县| 天祝| 贵德县| 南城县| 富锦市| 女性| 商丘市| 台江县| 淮滨县| 江津市| 卢湾区| 太仆寺旗| 岑巩县| 河池市| 平罗县| 新邵县| 渭南市| 苏尼特左旗| 涟水县| 时尚| 响水县| 手游| 大英县| 西和县| 普定县| 绵阳市| 司法| 台州市| 宁南县| 中卫市| 广德县| 通河县| 邛崃市| 灵台县| 丹凤县| 涿鹿县| 饶阳县|