当前位置: 首页 > news >正文

响应式网站展示型十堰学网站建设培训班

响应式网站展示型,十堰学网站建设培训班,oa办公系统下载安装,wordpress为何需要lamp环境在开发工具类软件、桌面应用或者移动端时,我们经常需要一个轻量级数据库来做 本地存储。相比 MySQL、Postgres 等服务型数据库,SQLite 体积小、零配置、单文件存储,非常适合这种场景。Go 语言通过 GORM SQLite 驱动 就能轻松实现。本文将带你…

在开发工具类软件、桌面应用或者移动端时,我们经常需要一个轻量级数据库来做 本地存储。相比 MySQL、Postgres 等服务型数据库,SQLite 体积小、零配置、单文件存储,非常适合这种场景。

Go 语言通过 GORM + SQLite 驱动 就能轻松实现。本文将带你一步步用 Go 搭建一个 SQLite 本地存储的示例。


一、环境准备

安装依赖库:

go get -u gorm.io/gorm
go get -u gorm.io/driver/sqlite

二、定义模型

我们以一个 Note 记事本模型为例:

package mainimport ("gorm.io/driver/sqlite""gorm.io/gorm""log"
)// Note 记事本模型
type Note struct {ID      uint   `gorm:"primaryKey"`Title   string `gorm:"size:100"`Content string
}var db *gorm.DBfunc initDB() {var err error// 创建/连接 SQLite 文件数据库db, err = gorm.Open(sqlite.Open("notes.db"), &gorm.Config{})if err != nil {log.Fatal("数据库连接失败:", err)}// 自动迁移_ = db.AutoMigrate(&Note{})
}

运行后,会在当前目录下生成一个 notes.db 文件,里面存储了表结构和数据。


三、实现基本的本地存储操作

1. 新增数据

func createNote(title, content string) {note := Note{Title: title, Content: content}db.Create(&note)log.Println("新增笔记成功:", note)
}

2. 查询数据

func getNotes() {var notes []Notedb.Find(&notes)log.Println("所有笔记:", notes)
}

3. 更新数据

func updateNote(id uint, newContent string) {db.Model(&Note{}).Where("id = ?", id).Update("content", newContent)log.Println("更新笔记成功, ID:", id)
}

4. 删除数据

func deleteNote(id uint) {db.Delete(&Note{}, id)log.Println("删除笔记成功, ID:", id)
}

四、测试本地存储

func main() {initDB()// 新增两条笔记createNote("Go 学习计划", "每天刷 1 个实战案例")createNote("购物清单", "牛奶、面包、鸡蛋")// 查询getNotes()// 更新updateNote(1, "每天刷 2 个实战案例")getNotes()// 删除deleteNote(2)getNotes()
}

五、运行效果

首次运行,会生成 notes.db 文件。SQLite 可以用 命令行工具或第三方软件(如 DB Browser for SQLite) 打开查看。

程序日志:

新增笔记成功: {1 Go 学习计划 每天刷 1 个实战案例}
新增笔记成功: {2 购物清单 牛奶、面包、鸡蛋}
所有笔记: [{1 Go 学习计划 每天刷 1 个实战案例} {2 购物清单 牛奶、面包、鸡蛋}]
更新笔记成功, ID: 1
所有笔记: [{1 Go 学习计划 每天刷 2 个实战案例} {2 购物清单 牛奶、面包、鸡蛋}]
删除笔记成功, ID: 2
所有笔记: [{1 Go 学习计划 每天刷 2 个实战案例}]

六、总结

通过本案例,我们实现了:

  • • 使用 GORM + SQLite 搭建 本地存储数据库
  • • 自动迁移模型(建表)
  • • 实现了 CRUD 操作(增删改查)
  • • 数据存储在单个 notes.db 文件中,方便移植与备份

SQLite 非常适合:

  • • 桌面应用:比如记事本、数据分析工具
  • • 移动应用:本地缓存、用户数据存储
  • • 轻量级服务:不需要 MySQL/Postgres 的完整环境

http://www.dtcms.com/a/598325.html

相关文章:

  • 涌现能力 是什么
  • 【datawhale】RAG学习笔记
  • 上传文件到网站营口网站seo
  • 西安网站制作公司排名电销系统开发
  • 对电子商务网站建设和管理的理解如何做商城网站小程序
  • 巧妙运用长尾关键词实现SEO关键词优化新高度
  • 泛型的细节
  • 免费的外贸网站推广方法wordpress游客发帖
  • 济南网站建设公品牌全网推广
  • 4-ARM-PEG-Iodoacetamide(2),化学特性
  • ps怎么做网站导航内嵌式门户网站的运营
  • 现在建设网站都用什么软件下载前后端分离企业网站源码
  • detr目标检测+deepsort/strongsort/bytetrack/botsort算法的多目标跟踪实现
  • 企业自建网站工业设计公司排行
  • 比较对称性对结构图像的影响
  • 网站登录页面怎么做的网站建设siteserver
  • Windows电脑的Hyper-V虚拟机使用(ubuntu系统及磁盘空间扩展)
  • 重庆万州网站建设报价有哪些高大上的网站
  • 最佳建站模板外网进入学校内局域网建设的网站
  • 网站logo如何替换深圳网站建设小江
  • 石狮app网站开发c 网站开发需要什么软件
  • Facebook 引流脚本:功能、风险与合规使用指南
  • 门户网站规划怎么把现有网站开发php
  • 网页制作与网站设计思路上海平台有限公司
  • Spring AI + MySQL 实现文件内容相似度的简单检测 | 含源码
  • 扒了下 Cursor2 的提示词 翻译后分享一下
  • dnf做任务解除制裁网站wordpress知识
  • 大良营销网站建设市场手机软件平台开发
  • 计算相差天数【java】
  • 【完整教程】宝塔面板FTP配置与FileZilla连接服务器