跳到主要内容

24 篇博文 含有标签「Go」

查看所有标签

接口最好从调用方倒着定义,别在实现还没稳定时先抽象

· 阅读需 3 分钟
一介布衣
全栈开发者

Go 学久一点以后,很多人都会记住一句话:interface 要小。但真到项目里,接口问题往往不是“大或小”这么简单,而是抽象出现得太早。实现只有一种、调用方式还没定稳,就先定义一堆 UserServiceOrderRepository 接口,最后只会让代码多一层跳转。

Go 里更隐蔽的问题,往往不是死锁而是 goroutine 泄漏

· 阅读需 2 分钟
一介布衣
全栈开发者

刚开始学 Go,并发部分最容易让人紧张的词就是“死锁”。这当然没错,因为死锁一出现,程序常常会非常明显地挂在那里。可等你真正把 Go 服务跑起来一段时间后,会发现另一类问题更难受:goroutine 没有马上死掉,而是在后台一点点堆起来。