记录一下本人在学习Go中一些无脑问题,同时欢迎大家在评论区进行补充
Go 基础篇章
关于main
go中允许项目中存在一个main包,所以要在你运行的主函数中去定义main,别的包只需定义文件名即可
全局变量
go中如果需要当前的结构体或者数据被其他文件中访问,需要把首字母大写(如果是结构体,每一个key的首字母需要大写),如下代码:
type User struct {
Iduserinfo int
Name string
Password string
}
GoWeb篇
Gin
连接Mysql数据库
go中需要进入mysql相关依赖,mysql用要的有mysql驱动、gorm驱动
go get -u gorm.io/driver/mysql
go get -u gorm.io/gorm
连接SQlite数据库
go中需要进入sqlite相关依赖,sqlite用要的有sqlite驱动、gorm驱动
go get -u gorm.io/driver/sqlite
go get -u gorm.io/gorm
进行数据库的操作可以看Go官方文档,点这里去Hello
go中需要进入sqlite相关依赖,sqlite用要的有sqlite驱动、gorm驱动
go get -u gorm.io/driver/sqlite
go get -u gorm.io/gorm
进行数据库的初始化
Mysql
func InitDB() {
dsn := "你的账号:你的密码@tcp(你的ip:端口)/数据库的名字?charset=utf8mb4&parseTime=True&loc=Local"
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
fmt.Print(err)
}
}
SQlite
func InitDBSqlite() {
DBsqlite, err := gorm.Open(sqlite.Open("你的db文件所在位置,注意是绝对路径"), &gorm.Config{})
DB = DBsqlite
if err != nil {
panic("failed to connnect")
}
关键的地方,要连接到数据库的表,必须把表名中的col名字小写,否则只能进行增、删、改,没办法进行查询操作