得到Go程序的汇编代码的方法
有多种方式可以获得Go程序的汇编代码, 尽管输出的格式有些不同,但是都是方便阅读的汇编代码,可以帮助我们更好的了解程序的底层运行方式。 我们看下面一段代码, 它是sync.Once的实现,去掉了不必要的注释,复制出来用来研究的一段小代码: once.go 1type Once struct { 2 m sync.Mutex 3 done uint32 4} 5func (o *Once) Do(f func()) { 6 if atomic.LoadUint32(&o.done) == 1 { 7 return 8 } 9 o.m.Lock() 10 defer o.m.Unlock() 11 if o.done == 0 { 12