Что выведет: var x int8 = 127; x++; fmt.Println(x)?

Middle
134 просмотров
AFK Offer AI

Выведет -128. Integer overflow в Go — wrapping (как в C), без panic. int8 range: -128 to 127. 127 + 1 = -128. Go не проверяет overflow в runtime — это тихий баг. Для безопасности: проверяй вручную перед операцией (if x == math.MaxInt8), или используй math/bits.Add для checked arithmetic.

Следующий вопрос

Что такое bridge channel?