From: Sergey Matveev Date: Sat, 6 Feb 2016 11:21:37 +0000 (+0300) Subject: Выравнивание в Go X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=fbe0c5a8d6e51786a21d41fe63fbd2c6f863ef5e;p=stargrave-blog.git Выравнивание в Go Так как на C никогда серьёзно не программировал, то и не встречался с такой штукой как alignment. В Go только сегодня впервые встретился с этим явлением: в sync/atomic библиотеке надо самостоятельно делать выравнивание полей в структурах если нужно работать с ними через atomic вызовы на 32-х битных системах. То есть, например: struct Foo { bar *somepointer baz int64 } вызовет панику при попытке atomic.AddInt64(&(f *Foo).baz), но если переставить местами bar и baz внутри структуры, то всё будет работать. На 64-бит ничего этого не надо. ---