go之文件名、關鍵字與標識符

4.1 文件名、關鍵字與標識符

Go 的源文件以 .go 爲後綴名存儲在計算機中,這些文件名均由小寫字母組成,如 scanner.go 。如果文件名由多個部分組成,則使用下劃線 _ 對它們進行分隔,如 scanner_test.go 。文件名不包含空格或其他特殊字符。

一個源文件可以包含任意多行的代碼,Go 本身沒有對源文件的大小進行限制。

你會發現在 Go 代碼中的幾乎所有東西都有一個名稱或標識符。另外,Go 語言也是區分大小寫的,這與 C 家族中的其它語言相同。有效的標識符必須以字母(可以使用任何 UTF-8 編碼的字符或 _)開頭,然後緊跟着 0 個或多個字符或 Unicode 數字,如:X56、group1、_x23、i、өԑ12。

以下是無效的標識符:

  • 1ab(以數字開頭)
  • case(Go 語言的關鍵字)
  • a+b(運算符是不允許的)

_ 本身就是一個特殊的標識符,被稱爲空白標識符。它可以像其他標識符那樣用於變量的聲明或賦值(任何類型都可以賦值給它),但任何賦給這個標識符的值都將被拋棄,因此這些值不能在後續的代碼中使用,也不可以使用這個標識符作爲變量對其它變量進行賦值或運算。

在編碼過程中,你可能會遇到沒有名稱的變量、類型或方法。雖然這不是必須的,但有時候這樣做可以極大地增強代碼的靈活性,這些變量被統稱爲匿名變量。

下面列舉了 Go 代碼中會使用到的 25 個關鍵字或保留字:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

之所以刻意地將 Go 代碼中的關鍵字保持的這麼少,是爲了簡化在編譯過程第一步中的代碼解析。和其它語言一樣,關鍵字不能夠作標識符使用。

除了以上介紹的這些關鍵字,Go 語言還有 36 個預定義標識符,其中包含了基本類型的名稱和一些基本的內置函數(第 6.5 節),它們的作用都將在接下來的章節中進行進一步地講解。

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

程序一般由關鍵字、常量、變量、運算符、類型和函數組成。

程序中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}

程序中可能會使用到這些標點符號:.,;:

程序的代碼通過語句來實現結構化。每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結尾,因爲這些工作都將由 Go 編譯器自動完成。

如果你打算將多個語句寫在同一行,它們則必須使用 ; 人爲區分,但在實際開發中我們並不鼓勵這種做法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章