Golang包引用中的點引用

2021-10-04 03:07:47 字數 602 閱讀 4363

在go中,點引用的方式相對不是那麼常見,一般大家都是在寫測試用例的時候才用。

如果我們採用點引用的方式匯入乙個包,便會將引用包的公有結構和公有函式放到與當前檔案同乙個命令空間當中,這樣在呼叫這個包中的公有函式和結構時就不需要再加上對應包名作為字首了。

比如:

import (

. "math"

"fmt"

)fmt.println(pi)

對比:

import (

"math"

"fmt"

)fmt.println(math.pi)

上述對math採用點引用後,就可以不加math字首而直接使用其公有變數pi

這裡要注意的是,如果你對乙個包採取了點引用的方式,那麼你就不能在當前包中定義與這個被點引用的包中公有變數或函式同名的變數或函函式,否則編譯器會報錯。

我們編寫的測試檔案如果是與當前的包處於同乙個命令空間下,利用這種引用方式能讓我們在寫測試用例時對包的公開介面進行全面的功能驗證,而不會誤用這個包內的私有屬性或私有函式。

golang包引用解析

環境變數配置如下 vs code配置如下 f workspace go home是總的golang工作空間,在下面建立兩個必須的目錄src 必須 f workspace go home src pkg 必須 f workspace go home pkg bin 非必須.go intanll時自動建...

golang之引用自己定義的包

初始目錄如下 其中main.go只有乙個主函式main 用於執行程式,array資料夾是自己定義的包,裡面sparr.go位於package array。sparr中的函式名或變數首字母得大寫。進入到array目錄,在終端輸入go install,在與src同級目錄下會有乙個pkg資料夾,裡面會有g...

python包的引用

class05為python包,classes為python中的模組,dog和chinadog為classes中的方法 from class05 import classes 可以使用classes模組中的變數 from class05.classes import dog,chinadog 只能使...