package main import ( "database/sql" "fmt" "github.com/mattn/go-sqlite3" "log" ) func main() { sql.Register("sqlite3_with_extensions", &sqlite3.SQLiteDriver{ Extensions: []string{ "sqlite3_mod_vtable", }, }) db, err := sql.Open("sqlite3_with_extensions", ":memory:") if err != nil { log.Fatal(err) } defer db.Close() db.Exec("create virtual table repo using github(id, full_name, description, html_url)") rows, err := db.Query("select id, full_name, description, html_url from repo") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var id, full_name, description, html_url string rows.Scan(&id, &full_name, &description, &html_url) fmt.Printf("%s: %s\n\t%s\n\t%s\n\n", id, full_name, description, html_url) } }