# Go 語言基礎語法
上一章節我們已經了解了 Go 語言的基本組成結構,本章節我們將學習 Go 語言的基礎語法。
## Go 標記
Go 程序可以由多個標記組成,可以是關鍵字,標識符,常量,字符串,符號。如以下 GO 語句由 6 個標記組成:
```
fmt.Println("Hello, World!")
```
6 個標記是(每行一個):
```
1\. fmt
2\. .
3\. Println
4\. (
5\. "Hello, World!"
6\. )
```
## 行分隔符
在 Go 程序中,一行代表一個語句結束。每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結尾,因為這些工作都將由 Go 編譯器自動完成。
如果你打算將多個語句寫在同一行,它們則必須使用 ; 人為區分,但在實際開發中我們并不鼓勵這種做法。
以下為兩個語句:
```
fmt.Println("Hello, World!")
fmt.Println("w3cschool菜鳥教程:w3cschool.cc")
```
## 注釋
注釋不會被編譯,每一個包應該有相關注釋。
單行注釋是最常見的注釋形式,你可以在任何地方使用以 // 開頭的單行注釋。多行注釋也叫塊注釋,均已以 /* 開頭,并以 */ 結尾。如:
```
// 單行注釋
/*
Author by w3cschool菜鳥教程
我是多行注釋
*/
```
## 標識符
標識符用來命名變量、類型等程序實體。一個標識符實際上就是一個或是多個字母(A~Z和a~z)數字(0~9)、下劃線_組成的序列,但是第一個字符必須是字母或下劃線而不能是數字。
以下是有效的標識符:
```
mahesh kumar abc move_name a_123
myname50 _temp j a23b9 retVal
```
以下是無效的標識符:
* 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 語言還有 36 個預定義標識符:
| 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 |
程序一般由關鍵字、常量、變量、運算符、類型和函數組成。
程序中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。
程序中可能會使用到這些標點符號:.、,、;、: 和 …。
## Go 語言的空格
Go 語言中變量的聲明必須使用空格隔開,如:
```
var age int;
```
語句中適當使用空格能讓程序看易閱讀。
無空格:
```
fruit=apples+oranges;
```
在變量與運算符間加入空格,程序看起來更加美觀,如:
```
fruit = apples + oranges;
```
- Go 語言簡介
- Go 語言環境安裝
- Go 語言結構
- Go 語言基礎語法
- Go 語言數據類型
- Go 語言變量
- Go 語言常量
- Go 語言運算符
- Go 語言條件語句
- Go 語言 if 語句
- Go 語言 if...else 語句
- Go 語言 if 語句嵌套
- Go 語言 switch 語句
- Go 語言 select 語句
- Go 語言循環語句
- Go 語言 for 循環
- Go 語言循環嵌套
- Go 語言 break 語句
- Go 語言 continue 語句
- Go 語言 goto 語句
- Go 語言函數
- Go 語言函數值傳遞值
- Go 語言函數引用傳遞值
- Go 語言函數作為值
- Go 語言函數閉包
- Go 語言函數方法
- Go 語言變量作用域
- Go 語言數組
- Go 語言多維數組
- Go 語言向函數傳遞數組
- Go 語言指針
- Go 語言指針數組
- Go 語言指向指針的指針
- Go 語言指針作為函數參數
- Go 語言結構體
- Go 語言切片(Slice)
- Go 語言范圍(Range)
- Go 語言Map(集合)
- Go 語言遞歸函數
- Go 語言類型轉換
- Go 語言接口
- Go 錯誤處理
- Go 語言開發工具