成都网站建设设计

将想法与焦点和您一起共享

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

package 的导入语法

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

创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为绍兴企业提供专业的网站制作、做网站,绍兴网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

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() 函数。

更多关于Golang import 导入包语法及一些特殊用法请查看下面的相关链接


文章标题:Golangimport导入包语法及一些特殊用法详解
分享地址:http://chengdu.cdxwcx.cn/article/gejspc.html