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 当你想导入一个文件时你应该使用大写。“Mod”以大写开头
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 关注
- 208 浏览
添加回答
举报