- Go語言高級編程(第2版)
- 柴樹杉 曹春暉
- 760字
- 2025-08-07 17:56:08
1.1.2 你好,世界
按照慣例,介紹所有編程語言的第一個程序都是“Hello, World!”。雖然本書假設讀者已經了解了Go語言,但是我們還是不想打破這個慣例(因為這個傳統正是從Go語言的前輩C語言傳承而來的)。下面的代碼展示的Go語言程序輸出的是中文“你好,世界!”。
package main import "fmt" func main() { fmt.Println("你好, 世界!") }
將這段代碼保存到hello.go文件中。因為代碼中有非ASCII的中文字符,我們需要將文件的編碼顯式指定為無BOM的UTF-8編碼格式(源文件采用UTF-8編碼是Go語言規范所要求的)。然后進入命令行并切換到hello.go文件所在的目錄。此時,我們可以將Go語言當作腳本語言,在命令行中直接輸入go run hello.go
來運行程序。如果一切正常的話,應該可以在命令行看到輸出“你好, 世界!”的結?果。
現在,讓我們簡單介紹一下程序。所有的Go程序都由最基本的函數和變量構成,函數和變量被組織到一個個單獨的Go源文件中,這些源文件再按照作者的意圖組織成合適的包(
package)
,最終這些包
有機地組成一個完整的Go語言程序。其中,函數用于包含一系列語句(指明要執行的操作序列),以及執行操作時存儲數據變量。這個程序中函數的名字是main
。雖然Go語言對函數名沒有太多限制,但是main
包中的main()
函數默認是每個可執行程序的入口。而包
則用于包裝和組織相關的函數、變量和常量。在使用一個包
之前,需要使用import
語句導入包。例如,這個程序中導入了fmt
包(fmt
是format的縮寫,表示格式化相關的包),然后我們才可以使用fmt
包中的Println
()
函?數。
雙引號包含的“你好, 世界!”是Go語言的字符串字面值常量。和C語言中的字符串不同,Go語言中的字符串內容是不可變更的。在將字符串作為參數傳遞給fmt
.
Println
()
函數時,字符串的內容并沒有被復制——傳遞的僅是字符串的地址和長度(字符串的結構在reflect. S
tringHeader
中定義)。在Go語言中,函數參數都是以復制的方式(不支持以引用的方式)傳遞的(比較特殊的是,Go語言閉包函數對外部變量是以引用的方式使用的)。
- Mastering JavaScript Functional Programming
- Manga Studio Ex 5 Cookbook
- 零基礎學Scratch少兒編程:小學課本中的Scratch創意編程
- PostgreSQL 11從入門到精通(視頻教學版)
- Mastering Data Mining with Python:Find patterns hidden in your data
- HTML5從入門到精通(第4版)
- Instant PHP Web Scraping
- Node.js區塊鏈開發
- WordPress Search Engine Optimization(Second Edition)
- 利用Python駕馭Stable Diffusion:原理解析、擴展開發與高級應用(智能系統與技術叢書)
- Computer Vision with Python 3
- 嵌入式Linux與物聯網軟件開發:C語言內核深度解析
- Selenium WebDriver自動化測試完全指南
- Instant Buildroot
- MATLAB/Simulink與過程控制系統仿真