Основы Go
2026-02-26 23:07 Diff

В языке Go преобразование типов всегда выполняется явно. Это означает, что нельзя просто сложить int и float64, или передать int в функцию, ожидающую string. Явное преобразование требуется везде, где участвуют разные типы.

Преобразование между числовыми типами

Преобразование int в float64. Без него компилятор выдаст ошибку:

Преобразование float64 в int

Преобразование отбрасывает дробную часть.

Преобразование int в string

Чтобы получить строковое представление числа, используется strconv.Itoa():

Преобразование string в int

Строку нельзя просто привести к числу. Используется strconv.Atoi(), потому что строка может содержать любое значение, не обязательно число.

Преобразование bool

bool не может быть приведён ни к числу, ни к строке напрямую.

Для строк используется fmt.Sprintf():

Ошибки при несовместимых типах

Go не делает неявных преобразований между несовместимыми типами: