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

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)定義的變量或導入的包在代碼中沒有被使用,程序會提示錯誤。

主站蜘蛛池模板: 海南省| 西昌市| 水城县| 普兰店市| 通山县| 吉木萨尔县| 铜陵市| 读书| 鹤庆县| 景德镇市| 武威市| 洪雅县| 尼勒克县| 天柱县| 辉南县| 乌拉特前旗| 宜兰市| 道孚县| 石景山区| 旅游| 凤山县| 大关县| 浑源县| 湛江市| 宜州市| 舟曲县| 应用必备| 资溪县| 惠水县| 策勒县| 晋宁县| 平凉市| 乌鲁木齐市| 冷水江市| 宝鸡市| 迁安市| 张家港市| 定远县| 兰溪市| 文安县| 万全县|