https://github.com/tiancaiamao/go-internals/blob/master/ebook/03.4.md
很受益的一点是defer不是一个原子操作是由赋值和返回两条汇编指令构成的。