package main import ( "fmt" "reflect" ) func main() { // make 创建切片(直接可用) sMake := make([]int, 2) sMake[0] = 100 // 合法操作 fmt.Printf("sMake: 类型=%s, 内容=%v\n", reflect.TypeOf(sMake), sMake) // sMake: 类型=[]int, 内容=[100 0] // new 创建切片指针(需手动初始化) sNew := new([]int) // (*sNew)[0] = 100 // 运行时 panic(未初始化底层数组) *sNew = make([]int, 2) // 手动初始化 (*sNew)[0] = 100 fmt.Printf("sNew: 类型=%s, 内容=%v\n", reflect.TypeOf(sNew), *sNew) // sNew: 类型=*[]int, 内容=[100 0] }