主程式利用的包必須在主程式編寫之前被編譯。主程式中每個 pack1 專案都要通過包名來使用:pack1.item
。具體使用方法請參見示例 4.6 和 4.7。
因此,按照慣例,子目錄和包之間有著密切的聯絡:為了區分,不同包存放在不同的目錄下,每個包(所有屬於這個包中的 go 檔案)都存放在和包名相同的子目錄下:
import with.
:
import . "./pack1"當使用
.
來做為包的別名時,你可以不通過包名來使用其中的專案。例如:test := returnstr()
。
在當前的命名空間匯入 pack1 包,一般是為了具有更好的測試效果。
import with_
:
import _ "./pack1/pack1"pack1包只匯入其***,也就是說,只執行它的init函式並初始化其中的全域性變數。
go -- 多個go檔案包名都是main - ma_fighting -
shawn@a:~/gokit/microkit$ cat m.go
// 2020/9/18 10:31 shawn
package main
import (
"fmt"
_ "lg/p0"
func main()
shawn@a:~/gokit/microkit$ cat p0/p0.go
// 2020/9/18 10:44 shawn
package p0
import "fmt"
// 外掛程式註冊
func init()
shawn@a:~/gokit/microkit$ cat p0/t.go
// 2020/9/18 10:44 shawn
package p0
import "fmt"
// 外掛程式註冊
func init()
shawn@a:~/gokit/microkit$
shawn@a:~/gokit/microkit$ go run *.go
p0p0-t
main-dir-0
main
shawn@a:~/gokit/microkit$ tree
├── go.mod1 directory, 5 files├── m1.go
├── m.go
└── p0
├── p0.go
└── t.go
shawn@a:~/gokit/microkit$ cat m1.go
// 2020/9/18 11:39 shawn
package main
import "fmt"
func init()
func f()
shawn@a:~/gokit/microkit$ cat m.go
// 2020/9/18 10:31 shawn
package main
import (
"fmt"
_ "lg/p0"
)func main()
shawn@a:~/gokit/microkit$
├── go.mod├── m1.go
├── m.go
└── p0
├── p0.go
└── t.go
Python3中自定義包和匯入自定義包
第一篇部落格,寫得質量可能會不高,但希望能開個好頭,努力成為優秀的程式設計師!今天在惡補python基礎知識,發現我對包,庫,模組的定義非常模糊,於是我回頭看了一下基礎知識,也是一時興起想讓跟我一樣一開始有些困惑的人避坑!要想知道什麼是包,得先了解一下模組的概念!知道了模組,那緊接著看看包 上面是我...
自定義指令和自定義事件
type text v my focus div root type text v my focus div body src lib vue.js script 自定義指令有兩種定義形式 1.全域性定義 2.區域性定義 vue.directive 指令名稱,指令的配置選項 v focus 全域性定...
python匯入自定義模組和包
1 終端輸入python import site site.getsitepackages 檢視package所在位置 library python 2.7 site packages 2 進入到 library python 2.7 site packages 建立新的檔案,加入你要引入的 包,這...