2012-02-19 17 views
20

Sono abbastanza nuovo per Google's Go, ma sto cercando di saperne di più scrivendo una semplice applicazione per parlare con un database SQLite 3. Finora mi sono imbattuto in diverse librerie sqlite, ma sembrano tutte scarsamente mantenute o con poca o nessuna documentazione.Google Go e SQLite: quale libreria usare e come?

Speravo che qualcuno qui potesse indicarmi la giusta direzione suggerendo una libreria da utilizzare per SQLite 3 e dandomi del codice demo per INSERT e SELECTs semplici.

Grazie per il vostro tempo.

risposta

13

Edit: rilevanti anche per Go 1.

Con un recente andare settimanale, e una libreria Sqlite3 installato su un sistema Linux, è necessario:

$ 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 

Questo dovrebbe iniziare.

1

Il mio primo consiglio, per SQLite o di altri DBMS, è quello di limitare la vostra ricerca per i conducenti di attuazione della nuova API di database/SQL (disponibile in Go settimanale). È molto pulito, efficiente e limita l'aderenza del codice al driver.

Per quanto riguarda SQLite, ho trovato solo questo driver (che non conosco): https://github.com/gwenn/gosqlite