使用空白标识符导入:一个实际用例
Go 编程语言允许导入包,只是因为它们的初始化副作用。这可以通过使用空白标识符作为显式包名称来实现,如以下示例所示:
import _ "foo/bar"
此导入语句建议将导入包 foo/bar 来为其初始化函数,但其导出的函数不会在导入程序中使用。
实际示例:数据库驱动程序注册
此构造的一个实际用例在于数据库驱动程序注册。数据库驱动程序包通常包含向数据库库注册驱动程序的初始化函数。
例如,在 go-sqlite3 包中,以下 init 函数注册 SQLite3 驱动程序:
func init() { sql.Register("sqlite3", &SQLiteDriver{}) }
通过使用空白标识符导入go-sqlite3,导入程序可以注册SQLite3驱动程序,而无需直接使用其导出的任何驱动程序函数:
import _ "github.com/mattn/go-sqlite3" func main() { // Connect to a SQLite3 database using the registered driver. }
初始化副作用的其他示例
初始化函数也可用于:
以上是什么时候应该使用 Go 的空白标识符导入?的详细内容。更多信息请关注PHP中文网其他相关文章!