Arrays 结构上的GoLang数组索引 主程序包 输入“fmt” 类型栏结构{ 高浮动64 低浮动64 } func main(){ 变量条=[]条{} 巴=[]巴{ {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(条) testFunction(&bar) } func testFunction(数组*[]条){ 对于i:=0;i

Arrays 结构上的GoLang数组索引 主程序包 输入“fmt” 类型栏结构{ 高浮动64 低浮动64 } func main(){ 变量条=[]条{} 巴=[]巴{ {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(条) testFunction(&bar) } func testFunction(数组*[]条){ 对于i:=0;i,arrays,go,struct,Arrays,Go,Struct,为什么我不能访问数组行 无效操作:数组[i](类型*[]条不支持索引)将for循环中的行更改为fmt.Println((*array)[i]) *数组[i]将尝试取消引用[i] (*array)[i]将解除对作为指针的数组的限制 工作示例:函数中的数组不是行索引。既然您不能执行[i][]i],您将如何访问行中的第二个元素?fmt.Println((*array)[i].low)。这些是条形结构,具有“高”和“低”的值。当你在数组或切片中初始化它们时,它们不是数组,而是Bar类型 package

为什么我不能访问数组行


无效操作:数组[i](类型*[]条不支持索引)

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

*数组[i]
将尝试取消引用
[i]

(*array)[i]
将解除对作为指针的
数组的限制


工作示例:

函数中的数组不是行索引。既然您不能执行[i][]i],您将如何访问行中的第二个元素?fmt.Println((*array)[i].low)。这些是条形结构,具有“高”和“低”的值。当你在数组或切片中初始化它们时,它们不是数组,而是Bar类型
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])
    }
}