猿问

Go 中的嵌套循环数组的行为不像其他语言的数组

为什么这个函数打印出一个数组[83 83 83 83 83]而不是[98 93 77 82 83]?


package main


import "fmt"


func main() {

    var x [5]float64

    scores := [5]float64{ 98, 93, 77, 82, 83, }


    for i, _ := range x {

        for j, _ := range scores {

            // fill up x array with elements of scores array

            x[i] = scores[j]

        }

    }

    fmt.Println(x)

}


繁星coding
浏览 161回答 2
2回答

收到一只叮咚

你有太多的循环。写:package mainimport "fmt"func main() {    var x [5]float64    scores := [5]float64{98, 93, 77, 82, 83}    for i := range x {        x[i] = scores[i]    }    fmt.Println(x)}输出:[98 93 77 82 83]在这种情况下,您可以简单地编写:package mainimport "fmt"func main() {    var x [5]float64    scores := [5]float64{98, 93, 77, 82, 83}    x = scores    fmt.Println(x)}输出:[98 93 77 82 83]
随时随地看视频慕课网APP

相关分类

Go
我要回答