package main
import (
"fmt"
)
func main() {
a:=new([0]int)
b:=new([0]int)
fmt.Println(a,b,a==b)
c:=new([0]int)
d:=new([0]int)
fmt.Println(c==d)
e:=new([1]int)
f:=new([1]int)
fmt.Println(e,f,e==f)
}
输出结果:
&[] &[] true
false
&[0] &[0] false
为什么a==b=true,c==d=false?
那你如果fmt.Println(c,d,c==d)的话,c==d也是true了呢
new完好像存的是指针 *[0]int
“每次调用new函数都是返回一个新的变量的地址,因此两个地址是不同的“ 出false是对的
true就不知道了 是不是有什么语法糖