go使用sqlite3

在Web开发中,经常需要将数据存储到数据库中以便进行管理和处理。gosqlite3是一个轻量级的sqlite3驱动,它为Golang提供了快速、稳定的sqlite3支持。

复制代码
package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/mattn/go-sqlite3"
)

func main() {
    db, err := sql.Open("sqlite3", "test.db")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    sqlStmt := `
    create table foo (id integer not null primary key, name text);
    delete from foo;
    `
    _, err = db.Exec(sqlStmt)
    if err != nil {
        log.Printf("%q: %s\n", err, sqlStmt)
        return
    }

    tx, err := db.Begin()
    if err != nil {
        log.Fatal(err)
    }
    stmt, err := tx.Prepare("insert into foo(id, name) values(?, ?)")
    if err != nil {
        log.Fatal(err)
    }
    defer stmt.Close()
    for i := 0; i < 100; i++ {
        _, err = stmt.Exec(i, fmt.Sprintf("世界%03d", i))
        if err != nil {
            log.Fatal(err)
        }
    }
    tx.Commit()

    rows, err := db.Query("select id, name from foo")
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()
    for rows.Next() {
        var id int
        var name string
        err = rows.Scan(&id, &name)
        if err != nil {
            log.Fatal(err)
        }
        log.Println(id, name)
    }
    err = rows.Err()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("success")
}
复制代码

Windows 安装 GCC

有时,我们想在 Windows 使用 GCC 中的编译器和其他工具,比如使用 gcc 和 gdb 编译调试 C 代码,那么该如何安装呢?

选型

Windows 版的 GCC 有三个选择:

windows必须安装gcc环境,才能支持sqlite。目前,最常用的是 mingw-w64,本文将以 mingw-w64 为例来安装 GCC。

mingw-w64 项目提供了很多 Windows 平台的工具链和包,这里以 w64devkit 为例,安装 C 和 C++ 编译器。大家可以根据自己的需要选择对应的工具。

将下载的 w64devkit 压缩包解压后,放到任意目录即可,这里将其拷贝到 C:\Program Files (x86)\w64devkit。

解压后 w64devkit,其目录如下:

在 bin 目录下,可以看到相关的编译器和 Linux 环境下常用的命令。

配置环境变量

验证

打开命令行 Windows cmd 或 PowerShell,执行如下命令:

gcc --version

最后执行 go run main.go (开启一个cmd黑窗口运行没问题,但在golang ide控制台输出貌似有问题)

资料来源:https://www.python100.com/html/109080.html

posted @   李若盛开  阅读(973)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示