在Go中,reflect.SliceOf()创建一个Type来表示给定Type的切片:
SliceOf返回元素类型为t的切片类型。例如,如果t表示int,则SliceOf(t)表示[] int。
但是,我已经有一个Type,[]int但是想要获得Type int。有没有简单的方法可以做到这一点?(请注意,我只是int作为示例。实际上,我所知道的是我有一个切片,并且我需要找到切片的每个元素是什么Type。)
我正在尝试[]string使用反射填充一堆bool,int,float或string ...这是相关的部分:
numElems := len(req.Form["keyName"])
if structField.Kind() == reflect.Slice && numElems > 0 {
slice := reflect.MakeSlice(structField.Type(), numElems, numElems)
for i := 0; i < numElems; i++ {
// I have some other code here to fill out the slice
}
}
Run Code Online (Sandbox Code Playgroud)
但是为了填写切片,我需要知道我要填写的切片的类型...