Go编程语言规范指出:“要仅为其副作用(初始化)导入包,请使用空白标识符作为显式包名称.
例如:
import _ "foo/bar"
我很难想象这个构造的用例. Usage of the `import` statement的接受答案提到了一种用例,可以加载数据库驱动程序,而不需要导入程序来使用该软件包的任何导出功能,但会省去读者的想象力.
有没有真实的例子(代码片段和解释)来说明这个用例?
我正在写一个
image scaler.我想要能够读取不同格式的图像,如JPEG,PNG& GIF并以JPEG格式输出.
所以除了image
和image/jpeg
包之外,我还必须导入image/png
和image/gif
才能注册各自的解码器.
如果我没有导入这些,缩放器将只能读取JPEG图像.
package main import( "image" "image/jpeg" // I wanted to export the images as JPEG _ "image/png" _ "image/gif" ) // ...
相关文档从image
包:
Decoding any particular image format requires the prior registration of a decoder function. Registration is typically automatic as a side effect of initializing that format’s package so that,to decode a PNG image,it suffices to have:
06001