3 回答

TA貢獻1777條經驗 獲得超10個贊
我會“注入” starttime 變量,否則包之間會有循環依賴。
main.go
var StartTime = time.Now()
func main() {
otherPackage.StartTime = StartTime
}
其他包.go
var StartTime time.Time

TA貢獻1942條經驗 獲得超3個贊
我創建了一個dif.go包含您的代碼的文件:
package dif
import (
"time"
)
var StartTime = time.Now()
在我創建的文件夾外,沒問題main.go!
package main
import (
dif "./dif"
"fmt"
)
func main() {
fmt.Println(dif.StartTime)
}
輸出:
2016-01-27 21:56:47.729019925 +0800 CST
文件目錄結構:
folder
main.go
dif
dif.go
有用!

TA貢獻1850條經驗 獲得超11個贊
我建議使用常用的導入方式。
首先我將解釋它稱為“相對導入”的方式,也許這種方式會導致一些錯誤
其次,我將解釋常見的導入方式。
第一的:
在 go version >= 1.12 中,有一些關于導入文件的新提示和一些變化。
1-您應該將文件放在另一個文件夾中,例如我在“model”文件夾中創建了一個文件,文件名為“example.go”
2- 導入文件時必須使用大寫!
3- 將大寫用于要導入其他文件的變量、結構和函數
注意:無法將 main.go 導入到另一個文件中。
文件目錄為:
root
|_____main.go
|_____model
|_____example.go
這是一個example.go:
package model
import (
"time"
)
var StartTime = time.Now()
這是 main.go 當你想導入一個文件時你應該使用大寫?!癕od”以大寫開頭
package main
import (
Mod "./model"
"fmt"
)
func main() {
fmt.Println(Mod.StartTime)
}
筆記?。?!
注意:我不推薦這種類型的導入!
第二:
(正常進口)
導入文件的更好方法是:
你的結構應該是這樣的:
root
|_____github.com
|_________Your-account-name-in-github
| |__________Your-project-name
| |________main.go
| |________handlers
| |________models
|
|_________gorilla
|__________sessions
這是一個例子:
package main
import (
"github.com/gorilla/sessions"
)
func main(){
//you can use sessions here
}
所以你可以在任何你想要的地方導入“github.com/gorilla/sessions”......只需導入它。
- 3 回答
- 0 關注
- 259 瀏覽
添加回答
舉報