08 Типы и значения
Что такое нулевое значение?
Ответ
У var без начального значения уже есть предсказуемое содержимое. Числа — 0, bool — false, строка — "". Указатели, срезы, карты, каналы, функции и интерфейсы — nil.
Подробнее
На нулевое значение можно опираться. Пустая строка и nil-срез ведут себя спокойно в len и range. Запись в nil-карту и вызов метода по nil-указателю — уже паника, если метод сам разыменовывает получателя.
package main
import "fmt"
func main() {
var (
n int
ok bool
s string
p *int
sl []int
m map[string]int
)
fmt.Printf("%#v %#v %q %#v %#v %#v\n", n, ok, s, p, sl, m)
}