我試圖創建隨機等級並將它們添加到test_scores
數組。然後計算平均值。不匹配的類型float64和int
這個程序:
package main
import (
"fmt"
"math/rand"
)
func main() {
i := 0
var test_scores [5]float64
for i < len(test_scores) {
test_scores[i] = rand.Float64()
i++
}
fmt.Println(test_scores)
var total float64 = 0
i = 0
for i < len(test_scores) {
total += test_scores[i]
i++
}
fmt.Println(total)
fmt.Println(total/len(test_scores))
}
生產:
main.go:24: invalid operation: total/5 (mismatched types float64 and int)
這一個正常工作:
package main
import (
"fmt"
"math/rand"
)
func main() {
i := 0
var test_scores [5]float64
for i < len(test_scores) {
test_scores[i] = rand.Float64()
i++
}
fmt.Println(test_scores)
var total float64 = 0
i = 0
for i < len(test_scores) {
total += test_scores[i]
i++
}
fmt.Println(total)
fmt.Println(total/5)
}
唯一的區別是,在最後一行,我m使用固定的5
和非工作人員,我正在使用len(test_scores)
呼叫。
Len還返回一個整數,所以怎麼了?
你通常應該使用切片而不是數組。 – JimB
「這個程序崩潰」是無益的。提問時請包含更多信息。 [我已將錯誤信息編輯爲您的問題。] –