- 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)定義的變量或導入的包在代碼中沒有被使用,程序會提示錯誤。
- Java語言程序設計
- C/C++算法從菜鳥到達人
- MongoDB for Java Developers
- Three.js開發指南:基于WebGL和HTML5在網頁上渲染3D圖形和動畫(原書第3版)
- Spring Boot+Spring Cloud+Vue+Element項目實戰:手把手教你開發權限管理系統
- Learning Firefox OS Application Development
- Python Data Analysis(Second Edition)
- Unity UI Cookbook
- 常用工具軟件立體化教程(微課版)
- JavaScript程序設計(第2版)
- Mastering Elasticsearch(Second Edition)
- Mockito Essentials
- H5+移動營銷設計寶典
- 產品架構評估原理與方法
- Google Maps JavaScript API Cookbook