Отношение порядка между событиями в программе. Если A happens-before B, то A видно для B. Синхронизация (канал, мьютекс, atomic) создаёт happens-before между горутинами. Memory model Go определяет, какие наблюдения допустимы при заданной синхронизации.