golang遍历[]struct
时间: 2023-08-22 12:10:04 浏览: 137
在 Go 中,可以使用 `range` 关键字遍历一个 `[]struct` 类型的切片。遍历时可以访问每个结构体中的字段,以下是一个示例代码:
```go
type Person struct {
Name string
Age int
}
func main() {
people := []Person{
{"Alice", 20},
{"Bob", 30},
{"Charlie", 40},
}
// 遍历 people 切片
for i, person := range people {
fmt.Printf("Person %d: Name=%s, Age=%d\n", i, person.Name, person.Age)
}
}
```
在上面的示例代码中,我们定义了一个 `Person` 结构体,包含 `Name` 和 `Age` 两个字段。然后创建了一个 `[]Person` 类型的切片 `people`,其中包含了三个 `Person` 结构体对象。最后使用 `range` 关键字遍历 `people` 切片,打印出每个人的姓名和年龄。
输出结果如下:
```
Person 0: Name=Alice, Age=20
Person 1: Name=Bob, Age=30
Person 2: Name=Charlie, Age=40
```
需要注意的是,`range` 关键字返回两个值,第一个是当前元素在切片中的索引,第二个是元素本身。在上面的示例代码中,我们使用了两个变量 `i` 和 `person` 来分别接收这两个值。
阅读全文