GO語言————4.1 檔名、關鍵字與識別符號

FLy_鵬程萬里發表於2018-06-26

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 個關鍵字或保留字:

breakdefaultfuncinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

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

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

appendboolbytecapclosecomplexcomplex64complex128uint16
copyfalsefloat32float64imagintint8int16uint32
int32int64iotalenmakenewnilpanicuint64
printprintlnrealrecoverstringtrueuintuint8uintptr

程式一般由關鍵字、常量、變數、運算子、型別和函式組成。

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

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

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

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



相關文章