package main
import (
"fmt"
"reflect"
)
func main() {
Slice := reflect.MakeSlice(reflect.SliceOf(reflect.TypeOf(0)), 10, 10)
for i := 0; i < 10; i++ {
Slice.Index(i).Set(reflect.ValueOf(i))
}
fmt.Println(Slice.Index(5)) //5
fmt.Println(Slice.Slice(0, 6)) //[0 1 2 3 4 5]
fmt.Println(Slice.Slice3(1, 7, 8)) // slice[i:j:k]
fmt.Println(Slice.Len())
fmt.Println(Slice.Cap())
slice := Slice.Interface().([]int)
fmt.Println(slice)
fmt.Println(len(slice))
fmt.Println(cap(slice))
return
}
reflect 与 slice
于 2022-08-07 13:09:04 首次发布