文章目錄
- 1、Go的25個關鍵字講解
- 2、Go的36個預定義辨別符
1、Go的25個關鍵字講解
不,你沒看錯,這門語言隻有25個關鍵字。
不像C++關鍵字那麼多,原本C++98/03有63個關鍵字,後來C++11又加了10個,變成了73個。
其中13個關鍵字與C++相同(break、default、switch、case、if、else、const、continue、for、return、map、struct、goto),用法也是類似。其它的12個不同(func、interface、select、defer、go、chan、package、falthrough、range、type、import、var)。
序号 | 關鍵字 | 介紹 |
1 | break | 用于跳出循環 |
2 | case | 選擇結構标簽 |
3 | chan | 定義channel |
4 | const | 定義常量 |
5 | continue | 跳過本次循環 |
6 | default | 用于選擇結構的預設選項(switch、select) |
7 | defer | 延遲執行内容(收尾工作)有點類似C++的析構,但是它是再函數結尾的時候去執行(也就是棧即将被釋放的時候) |
8 | else | 選擇結構-否則 |
9 | fallthrough | 如果case帶有fallthrough,程式會繼續執行下一條case,不會再判斷下一條case的值 |
10 | for | 循環 |
11 | func | 定義函數 |
12 | go | 并發執行 |
13 | goto | 跳轉語句 |
14 | if | 選擇結構-如果 |
15 | import | 導入包 |
16 | interface | 定義接口 |
17 | map | Map 是一種無序的集合,我們可以像疊代數組和切片那樣疊代它,它是使用 hash 表來實作的。 |
18 | package | 包管理 |
19 | range | 從slice、map等結構中取元素 |
20 | return | 用于在函數内部,退出函數執行過程 |
21 | select | go語言特有的channel選擇結構 |
22 | struct | 定義結構體 |
23 | switch | 選擇結構 |
24 | type | 定義類型 |
25 | var | 定義變量 |
看這個可能有點懵,看一下思維導圖吧,是不是更清楚的了解它的結構了呢?
2、Go的36個預定義辨別符
還有 36 個預定義辨別符,其中包含了基本類型的名稱和一些基本的内置函數,見下表:
内建常量 | 内建類型 | 内建函數 |
true | int | make |
false | int8 | len |
iota | int16 | cap |
nil | int32 | new |
- | int64 | append |
- | uint | copy |
- | uint8 | close |
- | uint16 | delete |
- | uint32 | complex |
- | uint64 | real |
- | uintprt | imag |
- | float32 | panic |
- | float64 | recover |
- | complex64 | - |
- | complex128 | - |
- | bool | - |
- | byte | - |
- | rune | - |
- | string | - |
- |