Что выведет: const x = 1e100; fmt.Println(int(x))?

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

Не скомпилируется: constant 1e+100 overflows int. Go проверяет overflow констант в compile time. Но если через переменную: var f float64 = 1e100; fmt.Println(int(f)) — скомпилируется, результат implementation-defined (обычно минимальный или максимальный int). Go не паникует при float→int overflow, это тихая ошибка. Проверяй range перед конвертацией.

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

Что такое drain connections?