Объявление переменной (variable declaration) создает одну или несколько переменных, связывает с ними соответствующие идентификаторы и присваивает каждому тип и начальное значение.
VarDecl = "var" ( VarSpec | "(" { VarSpec ";" } ")" ) .
VarSpec = IdentifierList ( Type [ "=" ExpressionList ] | "=" ExpressionList ) .
var i int
var U, V, W float64
var k = 0
var x, y float32 = -1, -2
var (
i int
u, v, s = 2.0, 3.0, "bar"
)
var re, im = complexSqrt(-1)
// поиск по карте (map); заитересованность только в "found"
var _, found = entries[name]
Если указан список выражений, переменные инициализируются с выражениями в соответствии с правилами для назначений. В противном случае каждая переменная инициализируется своим нулевым значением.
Если тип присутствует, каждой переменной присваивается этот тип. В противном случае каждой переменной присваивается тип соответствующего значения инициализации в присваивании. Если это значение является не типизированной константой, оно сначала неявно преобразуется в тип по умолчанию; если это не типизированное логическое значение, оно сначала неявно преобразуется в тип bool. Предварительно объявленное значение nil нельзя использовать для инициализации переменной без явного типа.
var d = math.Sin(0.5) // d это float64
var i = 42 // i это int
var t, ok = x.(T) // t это T, ok это bool
var n = nil // недопустимо
Ограничение реализации: компилятор может сделать недопустимым объявление переменной внутри тела функции, если переменная никогда не используется.
Читайте также:
- Основы Go: переменные
- Спецификация Go: объявления и области видимости
- Спецификация Go: идентификаторы
Комментариев нет:
Отправить комментарий