Go 导入包的方式
常见的方式
package main
import (
"fmt"
)
func main() {
fmt.Println("hello")
}
这个是从 GOROOT
目录去加载模块
另外我们还可以安装相对路径或者绝对路径去加载
import (
"./models" #相对路径引入,不太建议
"goweb/models" #绝对路径引入
)
几个特殊的方式
1. .
package main
import (
. "fmt"
)
func main() {
Println("vilay")
}
这种方式引入区别于调用包函数的时候,省略包名 原来是fmt.Println("vilay")
现在只要这样就可以了 Println("vilay")
2. 别名
package main
import (
f "fmt"
)
func main() {
f.Println("vilay")
}
这种方式引入区别于调用包函数的时候,省略包名 原来是fmt.Println("vilay")
现在只要这样就可以了 f.Println("vilay")
3. _
package main
import (
_ "github.com/go-sql-driver/mysql"
)
_操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的 init 函数
笔记
比如现在有两个文件
app/utils/setting.go
app/utils/database.go
两个包名必须一致,否则引入的时候会有问题。
另外,包的引入问题
app/utils/setting.go //package setting
在引入的时候,只需要这样
import "app/utils" //引入到文件目录就可以了,不需要再指到包名
所以,如果是mvc模式的,控制器里面每个控制器最好都是独立的文件夹,这样包名不会冲突,方法名也不会冲突。