golang编写一个类似sqlite的文件数据库实现增删改查代码
代码语言:golang
所属分类:其他
代码描述:golang编写一个类似sqlite的文件数据库实现增删改查代码,实现createtable、insert、update、select、delete,id自增等数据库特性,仅供学习。
代码标签: golang 编写 类似 sqlite 文件 数据库 增删 改查 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
package main import ( "fmt" "os" "encoding/gob" "sync" "errors" ) type Database struct { filename string tables map[string]*Table mutex sync.RWMutex } type Table struct { Name string Columns []string Rows [][]interface{} NextID int // 用于跟踪下一个可用的 ID } func NewDatabase(filename string) *Database { db := &Database{ filename: filename, tables: make(map[string]*Table), } err := db.Load() if err != nil && !os.IsNotExist(err) { fmt.Printf("警告: 加载数据库失败: %v\n", err) } return db } func (db *Database) CreateTable(name string, columns []string) error { db.mutex.Lock() defer db.mutex.Unlock() if _, exists := db.tables[name]; exists { return fmt.Errorf("表 %s 已存在", name) } .........完整代码请登录后点击上方下载按钮下载查看
网友评论0