go
小小灰烬
在学习上我就是个小学生
展开
-
go defer 、panic、 recover
defer 延迟 ,defer先后出panic 恐慌、触发错误,这种异常只会在程序运行的时候被抛出来recover 捕获panic import "fmt" func main() { defer func() { if info := recover(); info != nil { fmt.Println("catch1: ", info) } fmt.Println("defer one")原创 2021-03-23 11:05:29 · 64 阅读 · 0 评论 -
go struct拷贝
1. json形式 var amDto dto.ActivityManager var amPo po.ActivityManager _ = c.ShouldBindJSON(&amDto) aj, _ := json.Marshal(amDto) _ = json.Unmarshal(aj, &amPo)2.原创 2021-02-05 00:51:22 · 737 阅读 · 0 评论 -
gorm 一对多关联关系
一个活动表的关联多个活动条件一个活动条件关联多个活动配置数据结构: { "id":"1", "activityName":"开业大酬宾", "conditionList":[ { "id":"1", "activityId":"987654321234567890", "num":"987654321234567890", "configList":[ .原创 2021-02-03 16:11:39 · 596 阅读 · 0 评论 -
go mysql打印sql语句
1.gorm 打印mysql sql语句在gorm DB初始化添加,开启loggerdb.LogMode(true)2.或者配置中mysql: path: '127.0.0.1:3306' config: 'charset=utf8mb4&parseTime=True&loc=Local' db-name: 'qmPlus' username: 'root' password: '' max-idle-conns: 10 max-open-conns:原创 2021-02-03 11:49:03 · 3068 阅读 · 0 评论 -
go 常用类型转换
1.常用转换string转成int:int, err := strconv.Atoi(string)string转成int64:int64, err := strconv.ParseInt(string, 10, 64)int转成string:string := strconv.Itoa(int)int64转成string:string := strconv.FormatInt(int64,10)2.golang 几种字符串的拼接方式address := fmt.Sprintf(":%原创 2021-02-02 16:25:12 · 244 阅读 · 0 评论 -
go *-&区别
1.原理& 变量的地址*是指地址所存储的值 2.*-&场景&: 定义结构体: type SysUser struct { Username string `json:"userName" gorm:"comment:用户登录名"` Password string `json:"-" gorm:"comment:用户登录密码"` } 想要改变结构体的数据 U := &SysUser{Username: usern原创 2021-02-01 16:51:35 · 256 阅读 · 0 评论 -
go gorm
gorm是go的orm的框架1.参考文档 https://jasperxu.com/#/Programming/Golang/GORM/2.jinzhu/gorm实现 库安装go get -u github.com/jinzhu/gorm 数据库连接 import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) var db *gorm.DB func init()原创 2021-02-01 16:20:31 · 626 阅读 · 0 评论 -
go gin
gin类似java 的springmvc,接收请求1.参考野中文文档 https://www.kancloud.cn/shuangdeyu/gin_book/9494132. 添加引用github.com/gin-gonic/gin3.样例 func main() { // Disable Console Color // gin.DisableConsoleColor() // 使用默认中间件创建一个gin路由器 // logger and recovery (crash-free原创 2021-02-01 15:58:53 · 131 阅读 · 0 评论 -
go 反射校验参数合法性规则
1.添加一些自定义规则 如不为空,不小于0…等校验规则 LoginVerify = Rules{ "Username": {"notEmpty"}, "Password": {"notEmpty"}}2.反射处理typ := reflect.TypeOf(st)val := reflect.ValueOf(st) // 获取reflect.Type类型kd := val.Kind() // 获取到st对应的类别if kd != reflect.Struct { return errors.N原创 2021-02-01 15:48:39 · 219 阅读 · 0 评论 -
go 添加图形验证码
1. 添加引用 github.com/mojocn/base64Captcha2.实现 var store = base64Captcha.DefaultMemStore // 生成默认数字的driver driver := base64Captcha.NewDriverDigit(ImgHeight,.ImgWidth, KeyLong, 0.7, 80) cp := base64Captcha.NewCaptcha(driver, store) if id, b64s, err原创 2021-02-01 15:29:22 · 955 阅读 · 0 评论