Skip to content

Введение выведения типов в Go

Go поддерживает вывод типов. Во многих случаях программистам не нужно явно указывать типы некоторых значений в коде. Компиляторы Go определят типы этих значений по контексту.

В коде Go, если место нуждается в значении определенного типа, а нетипизированное значение (часто константа) может быть представлено как значение определенного типа, то в месте можно использовать нетипизированное значение. Компиляторы Go будут рассматривать нетипизированное значение как типизированное значение определенного типа. К таким местам относятся операнд в операторной операции, аргумент в вызове функции, целевое значение или исходное значение в присваивании и т. д.

Некоторые обстоятельства не предъявляют требований к типам используемых значений. Если в таких обстоятельствах используется нетипизированное значение, компиляторы Go будут рассматривать нетипизированное значение как типизированное значение его типа по умолчанию.

Случаи вывода двух типов можно рассматривать как неявные преобразования.
В приведенных далее главах объявления констант и переменных показаны некоторые случаи вывода типов.