重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了golang编写事务的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
创新互联公司自2013年起,是专业互联网技术服务公司,拥有项目成都网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元青川做网站,已为上家服务,为青川各地企业和个人服务,联系电话:028-86922220前言
新手程序员大概有如下特点
其实吧,很多人干了很多年,看似是老手,平时工作看似很忙,其实做的都是最简单的活。
这就像去锻炼,有的人每天练的很积极,准时打卡,频繁发朋友圈,貌似是正能量,结果是几年下来体型还是那样,该减的肥肉没少,要增的肌肉没加,为什么会这样?因为从来都是挑最简单最轻松的练
貌似吐槽多了,下面演示一下如何将一坨烂事务代码重构得优雅
需求
执行一个事务,需要调用one、two、three、four、five几个方法,任意一个方法失败,都回滚事务
下面是这些方法的简单模拟,我们用尽可能少的代码模拟一个操作
//开启事务 func beginTransaction() { fmt.Println("beginTransaction") } //回滚事务 func rollback() { fmt.Println("rollback") } //提交事务 func commit() { fmt.Println("commit") } //执行one操作 func one() (err error) { fmt.Println("one ok") return nil } //执行two操作 func two() (err error) { fmt.Println("two ok") return nil } //执行three操作 func three() (err error) { fmt.Println("two ok") return nil } //执行four操作 func four() (err error) { fmt.Println("four ok") return nil } //执行five操作 func five() (err error) { err = errors.New("five panic") panic("five") return err }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。