1.问题前景:
在接触到Go的相关的项目的时候,突然发现有些文件中导入的包前边有一些看不懂的符号,如下:
import (
v2 "github.com/YFJie96/wx-mall/controller/api/v2"
_ "github.com/YFJie96/wx-mall/docs"
. "fmt"
"github.com/gin-gonic/gin"
"github.com/swaggo/gin-swagger"
"github.com/swaggo/gin-swagger/swaggerFiles"
)
上边的v2 和 _ 和 “fmt”前边的. 各自都代表什么意思?这就引发了思考。
2.相关方法解释:
经过查阅了相关资料:
(1) 别名v2
:
此处的v2相当于是上述导入包的一个别名,我们可以直接使用 v2.WxLogin
来调用包中的接口或方法。
(2) 下划线_
:
此处的下划线在最初的时候,我也十分好奇究竟是什么作用,而且发现导入的包未被使用。
最终查阅得到:
在导入路径前加入下划线表示只执行该库的 init 函数而不对其它导出对象进行真正地导入。因为 Go 语言的数据库驱动都会在 init 函数中注册自己,所以我们只需要进行上述操作即可;否则的话,Go 语言的编译器会提示导入了包却没有使用的错误。
(3) 点.
:
此处的.,含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的fmt.Println(“hello world”) 可以省略的写成Println(“hello world”)