Google Go и SQLite: какую библиотеку использовать и как?
Я новичок в Google Go, но я пытаюсь узнать больше, написав простое приложение, чтобы поговорить с базой данных SQLite 3. До сих пор я сталкивался с несколькими различными библиотеками sqlite, но все они, похоже, редко поддерживаются или имеют небольшую или вообще отсутствующую документацию.
Я надеялся, что кто-то здесь сможет указать мне в правильном направлении, предложив библиотеку для использования в SQLite 3 и предоставив мне демо-код для простых INSERT и SELECT.
Спасибо за ваше время.
Ответы
Ответ 1
Изменить: релевантно также для Go 1.
С недавним еженедельным еженедельником и установленной библиотекой Sqlite3 в системе Linux вы должны:
$ go get github.com/mattn/go-sqlite3
sqlite3.go: In function ‘_cgo_7e09c699097a_Cfunc_sqlite3_prepare_v2’:
sqlite3.go:198:2: warning: passing argument 5 of ‘sqlite3_prepare_v2’ from incompatible pointer type [enabled by default]
/usr/local/include/sqlite3.h:2924:16: note: expected ‘const char **’ but argument is of type ‘char **’
$ # those warnings are OK, don't worry
$ mkdir $GOPATH/src/myproject && cd $GOPATH/src/myproject
$ wget https://raw.github.com/mattn/go-sqlite3/master/example/main.go
$ vi main.go # this is an example how to use go-sqlite3
Это должно помочь вам начать.
Ответ 2
Мой первый совет для sqlite или другой СУБД - ограничить ваше исследование драйверами, внедряющими новый API базы данных /sql (доступный в Go Weekly). Он очень чистый, эффективный и ограничивает соблюдение вашего кода драйвером.
Что касается SQLite, я нашел только этот драйвер (которого я не знаю):
https://github.com/gwenn/gosqlite