- GO語言編程從入門到實踐
- 黃永祥
- 998字
- 2023-08-31 19:56:54
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)定義的變量或導入的包在代碼中沒有被使用,程序會提示錯誤。
- 深入理解Bootstrap
- CockroachDB權威指南
- 動手玩轉Scratch3.0編程:人工智能科創教育指南
- 數據結構簡明教程(第2版)微課版
- 匯編語言程序設計(第3版)
- PhoneGap Mobile Application Development Cookbook
- JavaScript 程序設計案例教程
- Java編程技術與項目實戰(第2版)
- Apache Mahout Clustering Designs
- Java EE 8 Application Development
- iOS開發實戰:從入門到上架App Store(第2版) (移動開發叢書)
- Python機器學習之金融風險管理
- Java Web從入門到精通(第2版)
- PyQt編程快速上手
- 視窗軟件設計和開發自動化:可視化D++語言