1.6 مقادیر صفر تایپ‌ها (zero values)

1.6 مقادیر صفر تایپ‌ها (zero values)

در جدول زیر فهرست تمامی تایپ‌ها را با مقادیر صفرشان (پیش‌فرض) قرار دادیم:

تایپمقدار پیش فرض یا مقدار صفر
int0
int80
int160
int320
int640
uint0
uint80
uint160
uint320
uint640
uintptr0
float320
float640
complex640+0i
complex1280+0i
boolfalse
string""
interfacenil
slicenil
channelnil
mapnil
pointernil
functionnil
structبراساس مقدار پیش فرض فیلدها

نمونه کد نمایش مقدار صفر تایپ‌ها:

package main

import (
	"fmt"
)

func main() {
	var (
		a int
		b int8
		c int16
		d int32
		e int64
		f uint
		g uint8
		h uint16
		i uint32
		j uint64
		k uintptr
		l float32
		m float64
		n complex64
		o complex128
		p bool
		q string
		r interface{}
		s []int
		t chan int
		u map[string]int
		v *int
		w func()
		x struct{}
		y struct {
			ya int
			yb bool
			yc rune
		}
	)

	fmt.Println("int:", a)
	fmt.Println("int8:", b)
	fmt.Println("int16:", c)
	fmt.Println("int32:", d)
	fmt.Println("int64:", e)
	fmt.Println("uint:", f)
	fmt.Println("uint8:", g)
	fmt.Println("uint16:", h)
	fmt.Println("uint32:", i)
	fmt.Println("uint64:", j)
	fmt.Println("uintptr:", k)
	fmt.Println("float32:", l)
	fmt.Println("float64:", m)
	fmt.Println("complex64:", n)
	fmt.Println("complex128:", o)
	fmt.Println("bool:", p)
	fmt.Println("string:", q)
	fmt.Println("interface:", r)
	fmt.Println("slice:", s)
	fmt.Println("channel:", t)
	fmt.Println("map:", u)
	fmt.Println("pointer:", v)
	fmt.Println("function:", w)
	fmt.Println("struct:", x)
	fmt.Println("struct:", y)
}