对Golang import 导入包语法详解

时间:2021-12-06 04:04:32

package 的导入语法

写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下:

?
1
2
3
import(
  "fmt"
)

然后在代码里面可以通过如下的方式调用:

?
1
fmt.Println( "我爱北京*" )

fmt 是 Go 的标准库,它其实是去 GOROOT 下去加载该模块,当然 Go 的 import 还支持如下两种方式来加载自己写的模块:

相对路径

?
1
import  "./model" // 当前文件同一目录的 model 目录,但是不建议这种方式 import

绝对路径

?
1
import  "shorturl/model" // 加载 GOPATH/src/shorturl/model 模块

package 的导入的特殊用法

上面展示了一些 import 常用的几种方式,但是还有一些特殊的 import ,让很多新手很费解,下面是三种导入包的使用方法。

点操作

有时候会看到如下的方式导入包:

?
1
2
3
import(
  . "fmt"
)

这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的:

?
1
fmt.Println( "我爱北京*" )

可以省略的写成:

?
1
Println( "我爱北京*" )

别名操作

别名操作顾名思义可以把包命名成另一个用起来容易记忆的名字:

?
1
2
3
import(
  f "fmt"
)

别名操作调用包函数时前缀变成了重命名的前缀,即:

?
1
f.Println( "我爱北京*" )

下划线操作

这个操作经常是让很多人费解的一个操作符,请看下面这个 import

?
1
2
3
4
import (
  “database/sql”
  _ “github.com/ziutek/mymysql/godrv”
)

下滑线 “_” 操作其实只是引入该包。当导入一个包时,它所有的 init() 函数就会被执行,但有些时候并非真的需要使用这些包,仅仅是希望它的 init() 函数被执行而已。这个时候就可以使用 “_” 操作引用该包了。即使用 “_” 操作引用包是无法通过包名来调用包中的导出函数,而是只是为了简单的调用其 init() 函数。

以上这篇对Golang import 导入包语法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/u010649766/article/details/79458004