## 25個關鍵字

## 36個標識符

## package
package 是最基本的分發單位和工程管理中依賴關系的體現
每個go語言代碼文件卡頭都有一個package聲明,表示源碼文件所屬的代碼包
要生成go語言可執行程序,必須要有main的package包,且在該包下必須有main()函數
同一路徑下只能存在一個package,一個package可以拆成多個源碼文件
## import 代碼包的導入
import 的基本原理
* 如果一個main導入其他包,包將被順序導入
* 如果導入的包中以來其他包(包B),會首先導入B包,然后初始化B包中的常量與變量,最后如果B中有init,會自動執行initial();
* 所有包到入完成之后才會對main中常量和變量進行初始化,然后執行main中的init函數(如果存在),最后執行main函數;
* 如果一個包被導入多次則該包只會被導入一次;
### 別名
~~~
import str "strings" # 創建strings的別名
~~~
### 本地化導入
~~~
import . "strings" # 不用使用前綴,直接使用代碼包中的函數
~~~
### 僅執行初始化 init
~~~
import - "strings"
~~~
代碼包的初始化函數,即無參數聲明和結果聲明的init函數。
#### init函數的執行時機
在程序入口main函數之前執行
### 退出返回值
go main 函數不支持返回值,返回值通過 os.Exit() 實現

