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 Int转string几种方式性能测试
Apr 28 Golang
浅谈Golang 嵌套 interface 的赋值问题
Apr 29 Golang
对Golang中的FORM相关字段理解
May 02 Golang
解决golang post文件时Content-Type出现的问题
May 02 Golang
golang 比较浮点数的大小方式
May 02 Golang
关于golang高并发的实现与注意事项说明
May 08 Golang
Golang的继承模拟实例
Jun 30 Golang
Golang 语言控制并发 Goroutine的方法
Jun 30 Golang
golang 语言中错误处理机制
Aug 30 Golang
golang实现一个简单的websocket聊天室功能
Oct 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
星际实力自我测试
2020/03/04 星际争霸
PHP与javascript的两种交互方式
2006/10/09 PHP
批量修改RAR文件注释的php代码
2010/11/20 PHP
PHP的博客ping服务代码
2012/02/04 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
php使用curl访问https示例分享
2014/01/17 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
php检测url是否存在的方法
2015/04/14 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
JS 实现图片直接下载示例代码
2013/07/22 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
JSONP基础知识详解
2017/03/19 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
Python制作爬虫采集小说
2015/10/25 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
Django model class Meta原理解析
2020/11/14 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
单位实习证明怎么写
2014/01/17 职场文书
保密工作整改报告
2014/11/06 职场文书
春节慰问信范文
2015/02/15 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
详解Python中*args和**kwargs的使用
2022/04/07 Python
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python