编译以下代码时...package cameratype camera struct { position [3]float64 viewWidth int viewHeight int}func (c camera) SwitchToCartesianThreeSpace(x, y int) [3]float64 { // LINE 9 var x3 float64 = 0 // view is set to the origin var y3 float64 = float64(x) - (float64(c.viewWidth) / 2) var z3 float64 = float64(-y) + (float64(c.viewHeight) / 2) result := [3]float64{x3, y3, z3} // LINE 13 return result}...出现以下错误。camera/camera.go:9: undefined: xcamera/camera.go:9: undefined: ycamera/camera.go:11: undefined: xcamera/camera.go:12: undefined: ycamera/camera.go:13: cannot use x3 (type float64) as type [3]float64 in array elementcamera/camera.go:13: cannot use y3 (type float64) as type [3]float64 in array elementcamera/camera.go:13: cannot use z3 (type float64) as type [3]float64 in array element到目前为止,我已经编写了相当多的 Go 代码,但不明白为什么会出现第 9 行的错误或第 13 行的错误!有谁能解释一下吗?
1 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
在 playgroud 中隔离,它编译得很好,并具有预期的输出:
c := camera{}
res := c.SwitchToCartesianThreeSpace(2, 3)
// res is [0 2 -3]
您需要尝试只camera.go包含该代码,或检查文件如何适合您当前的工作区。camera.go
- 1 回答
- 0 关注
- 367 浏览
添加回答
举报
0/150
提交
取消