go语言 – 使用空白标识符

在Go中导入一个包而不使用是非法的,编译器会报错。这样可以避免未用包的膨胀,减少编译时间。

修改示例geometry.go文件中的代码:

package main 

import (   

     "geometry/rectangle" // 导入自定义包

)
func main() {

}

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

但是,在应用程序开发阶段,导入包而不使用(或许以后会使用),是很常见的。这种情况下,可以使用空白标识符_

上述程序中的错误,可以通过以下代码消除,

package main

import (  
    "geometry/rectangle" 
)

var _ = rectangle.Area // 消除错误

func main() {

}

使用代码var _ = rectangle.Area消除错误。

这些类型的错误静默器在开发结束时应该删除(包括未使用的导入包)。因此,建议紧跟import语句之后,编写错误静默器。

有时需要初始化一个包,即使不使用包中的函数或变量。例如,我们需要初始化rectangle包(即调用它的init函数),在这种情况下也可以使用_空白标识符,如下所示。

package main 

import (   

     _ "geometry/rectangle" 

)
func main() {

}

运行上述程序将输出rectangle package initialized。我们已经成功地初始化了包,即使它不在任何地方使用。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载