【问题标题】:Convert float64 array to float32 array将 float64 数组转换为 float32 数组
【发布时间】:2019-05-21 04:07:08
【问题描述】:
我有一个 float64 数组,想将每个值转换为 float32。
我试过了:
# What I have
features64 [120]float64
# What I've tried
features32 = [120]float32(features64)
但这会导致编译错误:
无法将特征(类型 [120]float64)转换为类型 [120]float32
【问题讨论】:
标签:
arrays
go
type-conversion
【解决方案1】:
您不能将一种切片/数组类型转换为另一种。您需要创建一个新数组并遍历转换每个元素的原始数组:
for i,f := range features64 {
features32[i] = float32(f)
}
【解决方案2】:
简单
var arr1 [120]float64
var arr2 [120]float32
for i, v := range arr1 {
arr2[i] = float32(v)
}
【解决方案3】:
例如,
package main
func main() {
var features64 [120]float64
var features32 [len(features64)]float32
for i, f64 := range features64 {
features32[i] = float32(f64)
}
}