将一片字符串转换为float32的片

时间:2018-04-05 20:27:24

标签: go split slice

在我的程序中,我通过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

1 个答案:

答案 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))
}