9 5 自定義包和可見性 go mod

2022-06-08 07:45:11 字數 2008 閱讀 8591

主程式利用的包必須在主程式編寫之前被編譯。主程式中每個 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.mod

├── m1.go

├── m.go

└── p0

├── p0.go

└── t.go

1 directory, 5 files

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 建立新的檔案,加入你要引入的 包,這...