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语言操作数据库及其常规操作的示例代码
Apr 21 Golang
用golang如何替换某个文件中的字符串
Apr 25 Golang
Golang: 内建容器的用法
May 05 Golang
Golang全局变量加锁的问题解决
May 08 Golang
Go timer如何调度
Jun 09 Golang
go web 预防跨站脚本的实现方式
Jun 11 Golang
Go 语言下基于Redis分布式锁的实现方式
Jun 28 Golang
go goroutine 怎样进行错误处理
Jul 16 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
Go归并排序算法的实现方法
Apr 06 Golang
Golang解析JSON对象
Apr 30 Golang
Go语言编译原理之源码调试
Aug 05 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
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
innerText 使用示例
2014/01/23 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
学年自我鉴定
2014/01/16 职场文书
单位实习证明怎么写
2014/01/17 职场文书
师德学习感言
2014/01/31 职场文书
中年人生感言
2014/02/04 职场文书
项目合作协议书范本
2014/04/16 职场文书
初一学生期末评语
2014/04/24 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
皇城相府导游词
2015/02/06 职场文书
董事长助理岗位职责
2015/02/11 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript