Драйвер SQLite и модуль в Go
Пакет database/sql работает с любым
движком, если установлен подходящий
драйвер. Для файла SQLite возьмем модуль
modernc.org/sqlite: он написан
на Go и не тянет отдельную C библиотеку.
Драйвер добавляют в зависимости модуля
командой из корня проекта, где лежит
go.mod:
go get modernc.org/sqlite
После загрузки модуль можно импортировать
в main.go с подчеркиванием, чтобы
выполнился его код регистрации, а имя
пакета в коде не использовалось:
package main
import (
"database/sql"
"fmt"
_ "modernc.org/sqlite"
)
func main() {
fmt.Println("driver ready")
}
При открытии соединения в пакете
database/sql указывают имя
"sqlite": его задает этот драйвер.
Без пустого импорта регистрации не будет,
и открытие завершится ошибкой.
Дан фрагмент подключения пакетов без
строки драйвера. Допишите пустой импорт
modernc.org/sqlite и скажите,
какое имя движка укажут при открытии
файла shop.db.
Скажите, зачем в импорте стоит
подчеркивание перед путем драйвера,
хотя в main его функции не
вызывают.
Дана команда терминала:
go get modernc.org/sqlite
Напишите, какой файл модуля изменится после успешного выполнения и что в нем появится.