Go语言空白表示符_的实例用法


Posted in Golang onJuly 04, 2021

在GO语言中,导入了包,却不在代码中使用它,是非法的。当这么做时,编译器是会报错的。其原因是为了避免导入过多未使用的包,从而导致编译时间显著增加。如下代码:

package main 

import (
    "geometry/rectangle" // 导入自定的包
)
func main() {

}

上面的程序将会抛出错误 imported and not used: "geometry/rectangle"

然而,在程序开发的活跃阶段,又常常会先导入包,而暂不使用它。遇到这种情况就可以使用空白标识符 _。

下面的代码可以避免上述程序的错误:

package main
import (  
    "geometry/rectangle" 
)
var _ = rectangle.Area // 错误屏蔽器
func main() {
}

var _ = rectangle.Area 这一行屏蔽了错误。我们应该了解这些错误屏蔽器(Error Silencer)的动态,在程序开发结束时就移除它们,包括那些还没有使用过的包。由此建议在 import 语句下面的包级别范围中写上错误屏蔽器。

有时候我们导入一个包,只是为了确保它进行了初始化,而无需使用包中的任何函数或变量。例如,我们或许需要确保调用了 rectangle 包的 init 函数,而不需要在代码中使用它。这种情况也可以使用空白标识符,如下所示。

package main 

import (
    _ "geometry/rectangle" 
)
func main() {

}

运行上面的程序,会输出 rectangle package initialized。尽管在所有代码里,我们都没有使用这个包,但还是成功初始化了它。

Golang 相关文章推荐
解决Go gorm踩过的坑
Apr 30 Golang
对Golang中的FORM相关字段理解
May 02 Golang
Golang之sync.Pool使用详解
May 06 Golang
Golang Gob编码(gob包的使用详解)
May 07 Golang
go xorm框架的使用
May 22 Golang
再次探讨go实现无限 buffer 的 channel方法
Jun 13 Golang
Go 语言下基于Redis分布式锁的实现方式
Jun 28 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
golang中的struct操作
Nov 11 Golang
golang生成vcf通讯录格式文件详情
Mar 25 Golang
Golang 链表的学习和使用
Apr 19 Golang
Golang map映射的用法
Apr 22 Golang
Go 语言结构实例分析
Jul 04 #Golang
Go语言基础知识点介绍
Jul 04 #Golang
详解Go语言Slice作为函数参数的使用
Jul 02 #Golang
golang 实用库gotable的具体使用
Jul 01 #Golang
试了下Golang实现try catch的方法
Jul 01 #Golang
Golang 语言控制并发 Goroutine的方法
Jun 30 #Golang
Golang的继承模拟实例
Jun 30 #Golang
You might like
Protoss建筑一览
2020/03/14 星际争霸
PHP Pear 安装及使用
2009/03/19 PHP
PHP执行zip与rar解压缩方法实现代码
2010/12/05 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
利用js对象弹出一个层
2008/03/26 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
javascript中layim之查找好友查找群组
2021/02/06 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
python在不同条件下的输入与输出
2020/02/13 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
留学自荐信
2013/10/10 职场文书
心得体会怎么写
2013/12/30 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
企业宣传策划方案
2014/05/29 职场文书
节能环保演讲稿
2014/08/28 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
上诉答辩状范文
2015/05/22 职场文书