關鍵字、Package 包的使用、import 的用法 - Go 學習記錄

Ali發表於2019-02-22

Package 包使用

  • package 是最基本的分發單位和工程管理中依賴關係的體現
  • 每個Go語言原始碼檔案開頭都擁有一個package宣告,表示原始碼檔案所屬程式碼包
  • 要生成Go語言可以執行程式,必須要有mainpackage包,且必須在該包下有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 協議》,轉載必須註明作者和本文連結

高永立

相關文章