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])
    }
}

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

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

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

最佳答案

将 for 循环中的行更改为 fmt.Println((*array)[i])*array[i] 会尝试取消引用 [i](*array)[i] 将取消引用作为您的指针的 array

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

关于arrays - 结构上的 GoLang 数组索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51333313/

10-11 22:07
查看更多