«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Какова цель импорта подчеркивания в Go?

Какова цель импорта подчеркивания в Go?

Опубликовано 21 декабря 2024 г.
Просматривать:431

What's the Purpose of Underscore Imports in Go?

Понимание операторов импорта с подчеркиванием

В мире программирования на Go символ подчеркивания ( _ ), предшествующий оператору импорта, имеет особое значение. Давайте рассмотрим его значение и использование.

Цель импорта с подчеркиванием

Подчеркивание (_) в операторе импорта указывает, что пакет импортируется исключительно из-за его побочных эффектов. Он не импортирует какие-либо функции, методы или переменные из пакета.

Побочные эффекты в пакетах Go

Некоторые пакеты Go имеют функции инициализации (обычно называемые init() ), которые выполняют действия, когда пакет импортирован. Эти действия могут включать в себя регистрацию пользовательских драйверов базы данных, инициализацию глобальных переменных или настройку ведения журнала.

Импорт с подчеркиванием для побочных эффектов

Чтобы импортировать пакет из-за его побочных эффектов и ничего больше, используется идентификатор подчеркивания: используется как явное имя пакета в операторе импорта. Например, рассмотрим фрагмент кода из go-sqlite3:

import (
    "database/sql"
    "fmt"
    _ "github.com/mattn/go-sqlite3"
    "log"
    "os"
)

В этом случае импорт подчеркивания «github.com/mattn/go-sqlite3» регистрирует драйвер sqlite3 в стандартной библиотеке sql. Это позволяет вам использовать sqlite3 в качестве подключения к базе данных в вашем коде без необходимости импортировать какие-либо функции из этого пакета.

Регистрация драйвера SQLite3

В случае go-sqlite3, следующий код инициализации выполняется при импорте пакета:

sql.Register("sqlite3", &SQLiteDriver{})

Это регистрация позволяет вам использовать sqlite3 следующим образом:

db, err := sql.Open("sqlite3", "./foo.db")

Заключение

Подчеркивание Операторы импорта в Go — удобный способ импортировать пакет исключительно из-за его побочных эффектов. Они позволяют вам воспользоваться процедурами инициализации пакета без явного импорта функций или переменных. Понимая цель и использование импорта подчеркивания, вы можете эффективно управлять зависимостями пакетов и побочными эффектами в своих проектах Go.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3