Package 包使用
package
是最基本的分發單位和工程管理中依賴關係的體現- 每個Go語言原始碼檔案開頭都擁有一個
package
宣告,表示原始碼檔案所屬程式碼包 - 要生成Go語言可以執行程式,必須要有
main
的package
包,且必須在該包下有main()
函式 - 同一個路徑下只能存在一個
package
,一個package
包可以拆成多個原始檔組成
建議引入的package
包的名稱和當前屬於的檔名相同
import 的用法及原理
import
語句可以匯入原始碼檔案所依賴的package
包- 不得 匯入原始碼檔案中沒有用到的
package
,否則Go語言編譯器會報編譯錯誤 - 如果一個
main
匯入其他包,包將按照順序匯入 - 如果匯入的包中依賴其他包(A依賴B),會首先匯入B包,然後初始化B包中的常量和變數,最好如果B包中有
init
,會自動執行init()
初始化函式 - 所有包匯入完成後才對main中的常量和變數進行初始化,然後執行
main
中的init()
函式(如過存在),最後執行main
函式 - 如果一個包被匯入多次則該包之後匯入一次。
import 語法:
第一種用法
import "package1"
import "package2"
import "package3"
第二種用法 (多個包推薦此用法)
import (
"package1"
"package2"
"package3"
)
import 特殊用法
import
可以取別名,將匯入的包命名為另一個容易記憶的別名 (別名寫在 引入包的名稱前面)- 點(.)操作的含義是:點(.)標示的包匯入後,呼叫該包中函式時可以省略字首包名
- 下劃線 (_)操作的含義是:匯入該包,但不匯入整個包,而是執行該包中的
init
函式,因此無法通過包名來呼叫包中的其他函式。使用下劃線操作往往是為了註冊包裡的引擎,讓外部可以方便的使用
保留關鍵字
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 |
如想看教程同步的程式碼移步 GitHub 地址。
本作品採用《CC 協議》,轉載必須註明作者和本文連結