下面这段代码能否通过编译,不能的话原因是什么;如果通过,输出什么。
func main() {
list := new([]int)
list = append(list, 1)
fmt.Println(list)
}
答: 无法通过编译。 list的类型是 *[]int 类型的指针。 append 第一个参数的类型是切片,不能为切片的地址
可以使用 make() 初始化之后再用。同样的,map 和 channel 建议使用 make() 或字面量的方式初始化,不要用 new() 。