golang默认的异常处理都是往外送error,于是导致代码里大量出现 形如

if err!=nil{

xxxxx

}

的代码。已经被无数人吐槽了。

我们在实际工作中,总结并规范了一下这部分的代码风格。这在进行中大型项目开发的时候一方面能保证代码的清爽,二方面又能维持golang这种error作为返回值往外送的好处。

大致使用了以下几个技术点:

1 defer和闭包

2 具名返回值

3 panic和recover