Переменные и типы¶
TL;DR¶
var x int = 10или короткоеx := 10.- Базовые:
int,int64,float64,string,bool. - Zero values:
0,"",false,nil. - Type conversion явный:
int64(x). Implicit conversion в Go нет.
Объявление¶
// var с типом и без
var x int = 10
var y = 20 // int выводится
z := 30 // только внутри функции
// const
const Pi = 3.14159
// Множественное
var (
name = "Anna"
age = 25
)
Zero values¶
var i int // 0
var f float64 // 0
var s string // ""
var b bool // false
var p *int // nil
var sl []int // nil
var m map[string]int // nil
Type conversion¶
В Go нет неявных конверсий. Это спасает от багов вида JS "3" + 4 = "34".
Типичные ошибки на собесе¶
- Думают что int = int32. На самом деле
intзависит от платформы (на 64-bit — 64 бита). - Забывают что
len("привет") == 12(UTF-8 байты), не 6 рун.utf8.RuneCountInString("привет") == 6.
Output Quiz¶
Прорешай задачи на этой странице: Output Quizzes Sprint 1.