golang里面的零值
类型 零值
string ""
int 0
float 0
bool false
数组(固定长度) 所有成员的零值
struct 所有成员的零值
slice nil
map nil
指针 nil
函数 nil
通道 nil
接口interface Type Value均为nil
package main
import "fmt"
func main() {
type Man struct {
name int
}
type Human interface {
GetName() string
}
var (
a string
b int
c float32
d bool
e [3]int
f Man
g []int
h map[string]string
i *int
j func() int
k chan int
l Human
)
fmt.Printf("a=%#v b=%#v c=%#v d=%#v e=%#v f=%#v g=%#v h=%#v i=%#v j=%#v k=%#v l=%#v\n", a, b, c, d, e, f, g, h, i, j, k, l)
}
// a="" b=0 c=0 d=false e=[3]int{0, 0, 0} f=main.Man{name:0} g=[]int(nil) h=map[string]string(nil) i=(*int)(nil) j=(func() int)(nil) k=(chan int)(nil) l=<nil>