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

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. StringHeader中定義)。在Go語言中,函數參數都是以復制的方式(不支持以引用的方式)傳遞的(比較特殊的是,Go語言閉包函數對外部變量是以引用的方式使用的)。

主站蜘蛛池模板: 巍山| 外汇| 常宁市| 莆田市| 双鸭山市| 临邑县| 孝义市| 内丘县| 湛江市| 霍林郭勒市| 镇赉县| 泗阳县| 白银市| 襄垣县| 大足县| 屏边| 马关县| 屏东市| 盈江县| 长宁区| 宁明县| 孟连| 屯留县| 南澳县| 龙游县| 雷山县| 高清| 连云港市| 巴楚县| 嘉善县| 甘肃省| 丰城市| 鹤岗市| 永寿县| 正定县| 合山市| 郴州市| 汉中市| 界首市| 新丰县| 马尔康县|