Go SQLite JSON是一種將SQLite數據庫與JSON格式相結合的技術。SQLite是一種輕量級的嵌入式關系型數據庫管理系統,它使用C語言編寫,由于其高效、便捷和可靠,已經成為移動應用、桌面應用、Web應用等多種場景下最常用的數據庫之一。而JSON是一種輕量級的數據交換格式,與SQLite一樣也受到了廣泛的應用。
// 安裝SQLite
go get github.com/mattn/go-sqlite3
// 獲取SQLite連接
db, err := sql.Open("sqlite3", "./data.db")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 插入數據
stmt, err := db.Prepare("INSERT INTO user (id, name, age) values (?, ?, ?)")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
_, err = stmt.Exec(1, "Tom", 18)
if err != nil {
log.Fatal(err)
}
// 讀取數據并查詢
rows, err := db.Query("SELECT * FROM user WHERE name = ?", "Tom")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
var id int
var name string
var age int
for rows.Next() {
err := rows.Scan(&id, &name, &age)
if err != nil {
log.Fatal(err)
}
fmt.Println(id, name, age)
}
// 以JSON格式輸出結果
res := []map[string]interface{}{}
for rows.Next() {
var id int
var name string
var age int
err := rows.Scan(&id, &name, &age)
if err != nil {
log.Fatal(err)
}
item := make(map[string]interface{})
item["id"] = id
item["name"] = name
item["age"] = age
res = append(res, item)
}
jsonRes, err := json.Marshal(res)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(jsonRes))
這段代碼演示了如何使用Go語言將數據插入到SQLite數據庫中,并從數據庫中讀取數據并將其以JSON格式輸出。此外,這段代碼還使用了Go的"database/sql"標準庫以及"github.com/mattn/go-sqlite3"數據庫驅動。
上一篇python 赫夫曼碼
下一篇python 超時跳出的