Go语言三维数组声明与赋值问题求助
Go语言三维数组赋值与任务疑问解答
关于任务要求的明确
任务明确要求的是给三维数组单个元素赋值:[1][0][2]是三维数组的索引,指向数组里某一个单独的float32数值,不是给某个维度的子数组整体赋值。三维数组的索引规则是[第一维索引][第二维索引][第三维索引],你只需要操作这个指定位置的单个数值即可。
关于赋值错误的解决
你遇到的错误是因为Go是强类型语言:88.6属于无类型浮点数,默认会被推断为float64类型,而你的数组元素是float32类型,直接赋值会出现类型不匹配问题。解决方法很简单,把数值显式转换成float32类型即可:
array[1][0][2] = float32(88.6)
完整可运行代码
package main import "fmt" func main() { // 声明4×4×4的float32三维数组,初始值全为0 var array = [4][4][4]float32{} // 为指定索引的元素赋值,显式转换类型 array[1][0][2] = float32(88.6) // 打印整个数组到控制台 fmt.Println(array) }
运行这段代码后,控制台会输出完整的三维数组,其中[1][0][2]位置的数值为88.6,其余位置保持初始的0值。
内容的提问来源于stack exchange,提问作者worrum
相关产品推荐
相关产品推荐

