
- Главная
- Каталог
- Интернет технологии
- Golang книги
Golang книги
Golang или GO язык программирования от google. Авторский канала с книгами GO, который содержит активную аудиторию GO разработчиков
Статистика канала
sql.Open.
📌 Что такое SQL-драйвер в Go
В Go есть стандартный пакет database/sql, который даёт единый интерфейс для работы с разными базами данных.
Но сам он не знает, как говорить с MySQL, Postgres или другой БД - этим занимаются драйверы, реализующие интерфейсы из database/sql/driver.
В итоге:
- приложение работает через единое API
- меняется только драйвер и строка подключения
📌 Как драйвер подключается
Обычно драйвер регистрируется через импорт с _, а дальше используется стандартный код:
import (
"database/sql"
_ "github.com/dolthub/driver/embedded"
)
db, err := sql.Open("dolt", "file:///path/to/db?commitname=User&commitemail=me@example.com&database=mydb")
{}
Для database/sql это просто ещё одна SQL-база.
📌 Что делает драйвер внутри
Драйвер реализует набор интерфейсов:
• driver.Driver - создание соединения
• driver.Conn - работа с подключением
• Stmt, Rows, Next, Scan - выполнение запросов и возврат строк
По сути, драйвер:
• парсит DSN
• поднимает SQL-движок
• переводит вызовы Go в операции базы
• возвращает данные в формате, понятном database/sql
📌 Зачем это понимать
Это открывает кучу возможностей:
• можно писать собственные драйверы
• встраивать базы в приложение (embedded DB, как SQLite-подход)
• делать прокси, кэширующие драйверы или логирующие обёртки
• глубже понимать, где узкие места по производительности
Главная мысль - database/sql это абстракция, а вся реальная магия живёт в драйвере. Поняв это, начинаешь смотреть на работу с БД в Go уже как на систему интерфейсов, а не просто "отправил SQL и получил строки".
https://www.dolthub.com/blog/2026-01-23-golang-sql-drivers/Speak(), подойдёт.
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Dog struct{}
func (Dog) Speak() string { return "woof" }
type Person struct{ Name string }
func (p Person) Speak() string { return "hi, I'm " + p.Name }
// функция принимает ИНТЕРФЕЙС, а не конкретный тип
func SaySomething(s Speaker) {
fmt.Println(s.Speak())
}
func main() {
SaySomething(Dog{})
SaySomething(Person{Name: "Gus"})
}
{}
Что важно понять (самые полезные тезисы):
- интерфейс лучше объявлять там, где он используется, а не “в библиотеке заранее”
- интерфейсы в Go обычно маленькие (1-3 метода) - так код гибче
- типы не “наследуют” интерфейсы - они просто соответствуют им
- из этого рождается сильный стиль Go: “принимай интерфейсы - возвращай структуры”
Если ты раньше был в Java/C# - после этой статьи Go-интерфейсы начинают реально “щелкать”.
https://www.calhoun.io/crash-course-on-go-interfaces/go func(){} - вот тебе реальный чек.
go-concurrency-exercises - это набор задач, которые заставляют врубиться в конкурентность :
не по книжке, а через боль, race conditions и дедлоки 😅
Что внутри:
✅ задачи на goroutines / channels / select
✅ fan-in / fan-out, worker pool, pipeline
✅ rate limiting, timeouts, context cancel
✅ типичные ловушки: race, deadlock, leak горутин
✅ решения и объяснения - можно сверяться
Подойдет:
- для подготовки к собесам
- для мидлов, которые хотят стать сеньорами
- для тех, кто хочет писать конкурентный Go и разбираться в нем
📎 GitHub: github.com/loong/go-concurrency-exercises
@Golang_googleОтзывы канала
всего 5 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Golang книги — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 17.1K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 23.7, количество отзывов – 5, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 13702.08 ₽, а за 98 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий