2025-11-11 Golang如何使用reflect操作切片与数组 Golang如何使用reflect操作切片与数组 go v := []int{1, 2, 3} val := reflect.ValueOf(v) typ := val.Type() fmt.Println("类型名:", typ.Name()) // 空(非命名类型) fmt.Println("种类:", typ.Kind()) // slice注意:当传入reflect.ValueOf()的是一个普通变量时,返回的是该值的只读副本。若要修改原值,必须传入指针并调用.Elem()方法获取指向内容的Value。动态创建切片与数组我们可以使用reflect.MakeSlice和reflect.NewArray来动态创建切片和数组。这两个函数都需要指定元素类型和长度。go // 创建一个 []int 类型,长度为3,容量为5 的切片 sliceType := reflect.SliceOf(reflect.TypeOf(0)) newSlice := reflect.MakeSlice(sliceType, 3, 5)// 设置元素 for i := 0; i < newSlice.Len();... 2025年11月11日 38 阅读 0 评论