如何在 Go 中的多维结构中追加切片?

问题描述 投票:0回答:1

新手...

我有以下内容:

type class struct{
  Name    string
  Age     int
  Address string
  Phone.  int
}

SchoolClassList := [12][4]class{}

NewStudent := class{}

首先,我初始化为 12,因为每个班级有 12 个不同的年级。 每班由 4 名学生开始。 随着更多学生的到来,我希望能够追加到任何课程。

我尝试执行以下操作以附加到二年级

SchoolClassList[2] = append(SchoolClassList[2],NewStudent

但是我收到以下错误:

First argument to append must be a slice; have SchoolClassList[2] (variable of type [4]class
go struct append slice
1个回答
0
投票

追加适用于切片(您正在使用数组)。

用这个

package main

import "fmt"

func main() {

    type class struct {
        Name    string
        Age     int
        Address string
        Phone   int
    }

    SchoolClassList := [12][]class{}

    fmt.Println("Before: ", SchoolClassList)

    NewStudent := class{}

    SchoolClassList[2] = append(SchoolClassList[2], NewStudent)

    fmt.Println("After", SchoolClassList)
}
© www.soinside.com 2019 - 2024. All rights reserved.