结构上的GoLang数组索引

use*_*199 2 arrays struct go

package main

import "fmt"

type Bar struct {
    high float64
    low  float64
}

func main() {
    var bars = []Bar{}
    bars = []Bar{
        {1.0, 2.0},
        {1.1, 2.1},
        {1.2, 2.2},
        {1.3, 2.3},
        {1.4, 2.4},
        {1.5, 2.5},
    }
    fmt.Println(bars)
    testFunction(&bars)
}

func testFunction(array *[]Bar) {
    for i := 0; i < 3; i++ {
        fmt.Println(*array[i])
    }
}
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/MZwaFALHfuy

为什么我不能访问数组行?

无效的操作:array [i](类型* [] Bar不支持索引)

H4x*_*rPL 5

将for循环中的行更改为 fmt.Println((*array)[i])

*array[i] 会尝试取消引用 [i]

(*array)[i]会取消引用array您的指针。

工作示例:https : //play.golang.org/p/yr6WbtS3Aq_c