Golang - 创建结构数组?

Golang - Create Array of Struct?

如何使用用户输入创建结构数组?

我正在尝试创建一个循环,该循环将从用户那里获取结构的输入并将其添加到结构数组中

package main

import "fmt"

type person struct {
    name string
    age  int
}

var n int
var p person
var list []person

func main() {
    //Enter your code here. Read input from STDIN. Print output to STDOUT
    fmt.Scanln(&n)
    for i := 0; i < n; i++ {
        var namez string
        var numberz int
        fmt.Scanln(&namez)
        fmt.Scanln(&numberz)
        list[i] = person{name: namez, age: numberz}

    }

}

您在这里使用的是切片而不是数组,因此您需要附加到切片。

var list []person 是一个切片。

切片例如:

package main

import "fmt"

type person struct {
    name string
    age  int
}

var n int
var p person
var list []person

func main() {
    //Enter your code here. Read input from STDIN. Print output to STDOUT
    fmt.Scanln(&n)
    for i := 0; i < n; i++ {
        var namez string
        var numberz int
        fmt.Scanln(&namez)
        fmt.Scanln(&numberz)
        list = append(list, person{name: namez, age: numberz})

    }

}

你也可以使用数组,你需要用元素的数量来初始化它。

更多信息:https://go.dev/blog/slices-intro