侃侃无极
使您的指针示例正常工作声明后,您的指针变量将为,nil,因此您无法设置指向的值(它尚未指向任何位置)。您必须首先为指向的值分配内存,例如,使用内置new()函数:var a *[]inta = new([]int)*a = make([]int, 0)*a = append(*a, 1)另一种选择是使用切片复合文字,并获取其地址:var a *[]inta = &[]int{}*a = make([]int, 0)*a = append(*a, 1)另一种选择是使用切片类型的另一个变量[]int,并将其地址分配给a:var a *[]intvar b []inta = &b*a = make([]int, 0)*a = append(*a, 1)放弃指针但是要知道,使用切片不需要指针。您可以只将返回值分配给make()非指针切片变量:var a []inta = make([]int, 0)a = append(a, 1)