關(guān)鍵字
- Go語言中的關(guān)鍵字和C語言中的關(guān)鍵字的含義樣, 是指被Go語言賦予特殊含義的單詞
- Go語言中關(guān)鍵字的特征和C語言也一樣
- 全部都是小寫
- 在開發(fā)工具中會顯示特殊顏色
- Go語言中關(guān)鍵字的注意點和C語言也一樣
- 因為關(guān)鍵字在C語言中有特殊的含義, 所以不能用作變量名聘鳞、函數(shù)名等
C語言關(guān)鍵字和Go語言關(guān)鍵字對比
- C語言中一共有32個關(guān)鍵字
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
if | else | switch | case | default | break | return | goto |
do | while | for | continue | typedef | struct | enum | union |
char | short | int | long | float | double | void | sizeof |
signed | unsigned | const | auto | register | static | extern | volatile |
- Go語言中一共有25個關(guān)鍵字
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
if | else | switch | case | default | break | return | goto |
fallthrough | for | continue | type | struct | var | const | map |
func | interface | range | import | package | defer | go | select |
chan |
- Go語言中除了關(guān)鍵字以外,還有30多個
預(yù)定義標識符
內(nèi)建常量 | |||
---|---|---|---|
true | false | iota | nil |
內(nèi)建類型 | |||
---|---|---|---|
int | int8 | int16 | int32 |
int64 | uint | uint8 | uint16 |
uint32 | uint64 | uintptr | float32 |
float64 | complex64 | complex128 | bool |
byte | rune | string | error |
內(nèi)建函數(shù) | |||
---|---|---|---|
make | len | cap | new |
append | copy | delete | real |
imag | panic | recover | complex |
標識符
- Go語言中的標識符和C語言中的標識符的含義樣, 是指程序員在程序中自己起的名字(變量名稱晤愧、函數(shù)名稱等)
- 和C語言一樣Go語言標識符也有一套
命名規(guī)則
, Go語言標識符的命名規(guī)則幾乎和C語言一模一樣- 只能由字母(a~z、 A~Z)、數(shù)字恭朗、下劃線組成
- 不能包含除下劃線以外的其它特殊字符串
- 不能以數(shù)字開頭
- 不能是Go語言中的關(guān)鍵字
- 標識符嚴格區(qū)分大小寫, test和Test是兩個不同的標識符
- 和C語言標識符命名規(guī)則不同的是
- Go語言中_單獨作為標識符出現(xiàn)時, 代表
空標識符
, 它對應(yīng)的值會被忽略
package main import "fmt" func main() { // 將常量10保存到名稱叫做num的變量中 var num int = 10 fmt.Println("num = ", num) // 忽略常量20,不會分配存儲空間,也不會保存常量20 //var _ int = 20 //fmt.Println("_ = ", _) // cannot use _ as value // Go語言中如果定義了變量沒有使用, 那么編譯會報錯(sub declared and not used) // 所以如果我們只使用了sum,沒有使用sub會報錯 // 為了解決這個問題, 我們可以使用_忽略sub的值 //var sum, sub int = calculate(20, 10) var sum, _ int = calculate(20, 10) fmt.Println("sum = ", sum) } func calculate(a, b int)(int, int) { var sum int = a + b var sub int = a - b return sum, sub }
- Go語言默認的編碼方式就是UTF-8, 所以Go語言支持中文, 所以可以用中文作為標識符(非常非常非常不推薦)
package main import "fmt" func main() { // 不會報錯, 可以正常運行 var 年齡 int = 33 fmt.Println("年齡 = ", 年齡) // 33 // 不會報錯, 可以正常運行 var 結(jié)果 int = 計算器(10, 20) fmt.Println("結(jié)果 = ", 結(jié)果) // 30 } func 計算器(第一個變量, 第二個變量 int)int { return 第一個變量 + 第二個變量 }
- Go語言中_單獨作為標識符出現(xiàn)時, 代表
- 和C語言一樣,標識符除了有
命名規(guī)則
以外,還有標識符命名規(guī)范
- 規(guī)則必須遵守, 規(guī)范不一定要遵守, 但是建議遵守
- Go語言的命名規(guī)范和C語言一樣, 都是采用駝峰命名, 避免采用_命名
- 駝峰命名: sendMessage / sayHello
- _命名: send_message / say_hello