欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Golang import 导入包语法及一些特殊用法详解

程序员文章站 2022-04-06 13:24:44
package 的导入语法写 go 代码的时经常用到 import 这个命令用来导入包,参考如下:import( "fmt")然后在代码里面可以通过如下的方式调用:fmt.println( "我爱萬...

package 的导入语法

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

import(
  "fmt"
)

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

fmt.println( "我爱" )

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

相对路径

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

绝对路径

import  "shorturl/model" // 加载 gopath/src/shorturl/model 模块

package 的导入的特殊用法

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

点操作

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

import( 
  . "fmt" 
)

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

fmt.println( "我爱" )

可以省略的写成:

println( "我爱" )

别名操作

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

import( 
  f "fmt" 
) 

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

f.println( "我爱" )

下划线操作

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

import ( 
  “database/sql” 
  _ “github.com/ziutek/mymysql/godrv” 
) 

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