go import导包关键字
import 导包
有相对路径 和 绝对路径,推荐使用绝对路径。
GoLand 中导包如果不用,会报错。
格式
导入单个路径
1 | import "./model" //不建议这种方式import |
导入多个路径
1 | import ( |
路径
相对路径:
1 | import "./model" //不建议这种方式import |
绝对路径:
1 | import "shorturl/model" //加载GOPATH/src/shorturl/model模块 |
点操作
这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,
1 | import( . "fmt" ) |
别名
1 | import(test "fmt") |
_ 执行init
作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,
使用下划线_
导的包,不使用也不报错
如:import _ hello/imp
场景:
有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已。
这个时候就可以使用 import _
引用该包,即使用import _ 包路径
只是引用该包,仅仅是为了调用init()函数,所以无法通过包名来调用包中的其他函数。
目录结构
1 | >--src |
验证初始化
这里可以执行 init(),但是不能调用这个包内的函数。
1 | package main |
1 | package imp |
输出结果:imp-init() come here.
如果需要即要初始化 init() 函数,又要调用其他函数,就必须再导入一次不带下划线的包就可以。
总结
go 的 import,还是比较中规中规矩,实际使用当中 import() 使用的比较多,毕竟不会只导入一两个包。_
的用法在很多框架低层中很常用,要注意。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 人话翻译机!
评论