摘要:defer func() { if r := recover(); r != nil { fmt.Println("Recovered:", r) } }() 在任何涉及到数组取值的地方,都应该在开头写一个这个捕获抛出异常的 数组越界问题最容易出异常,没有抛出就会终结整个程序 数组越界异常,简单来说
阅读全文
|
随笔分类 - go开发
开发过程遇到的问题和技术点
摘要:defer func() { if r := recover(); r != nil { fmt.Println("Recovered:", r) } }() 在任何涉及到数组取值的地方,都应该在开头写一个这个捕获抛出异常的 数组越界问题最容易出异常,没有抛出就会终结整个程序 数组越界异常,简单来说
阅读全文
摘要:处理一个循环数据,需要频繁开启数据库事务操作,为了以便于事务的回滚和提交,在循环内部创建一个匿名函数 func(str string) { tx := db.Begin() // 定义局部err变量 var err error defer func() { if r := recover(); r
阅读全文
摘要:一个事务内同一操作二次回滚(Rollback)会报错,二次提交(commit)也会报错, 如果回滚完又进行提交操作,一样会报错 循环注意把事务开启tx.Begin放在事务操作前边,操作完回滚或者提交
阅读全文
摘要:在MySQL中,'0000-00-00 00:00:00'不是一个合法的DATETIME值。从MySQL 5.7.5开始,默认情况下不允许插入零日期或零时间值到DATETIME或 TIMESTAMP列,除非明确允许。 在gorm中,如果没有为DATETIME类型的字段提供具体的时间值,MySQL就会
阅读全文
|