在我的程序中,我通过bufio扫描仪将一串数字(例如:54 43.3 -43.2)添加到切片中。然后我想将每个空间的切片拆分成另一个切片,将其转换为float32。这就是我所拥有的:
var newSlice []float32
sliceScan = scanner.Text()
s := strings.Split(sliceScan, " ")
for i:= 0; i < len(s); i+=1 {
newSlice[i] = (float32) s[i]
}
当我运行此操作时出现此错误:
syntax error: unexpected s at the end of statement
答案 0 :(得分:2)
您可以使用strconv.ParseFloat
:
script
或者可能更好:
var newSlice []float32
sliceScan = scanner.Text()
s := strings.Split(sliceScan, " ")
for i:= 0; i < len(s); i+=1 {
f64, err := strconv.ParseFloat(s[i], 32)
newSlice = append(newSlice, float32(f64))
}