在 golang 函数中遍历不同类型的数据结构的方法:遍历 list(数组、切片):使用 for 循环遍历数组或切片。遍历 map:使用 for 循环遍历映射。遍历 channel:使用 for 循环遍历通道。遍历自定义结构体:使用反转规则遍历自定义结构体。

如何在 Golang 函数中遍历不同类型的数据结构?
Golang 提供了丰富的内置类型和自定义数据结构。在函数中遍历这些数据结构对于提取数据、应用操作或更新其内容至关重要。
遍历 List(数组、切片)
立即学习“go语言免费学习笔记(深入)”;
使用 for 循环遍历数组或切片:
func iterateList(list []int) {
for _, value := range list {
fmt.Println(value)
}
}遍历 Map
用 for 循环遍历映射:
Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。
2
func iterateMap(m map[string]int) {
for key, value := range m {
fmt.Println(key, value)
}
}遍历 Channel
用 for 循环遍历通道:
func iterateChannel(ch <-chan int) {
for {
select {
case value := <-ch:
fmt.Println(value)
default:
return // 通道为空,退出循环
}
}
}遍历自定义结构体
使用反转规则遍历自定义结构体:
type Person struct {
name string
age int
}
func iterateStruct(p Person) {
for key, value := range reflect.ValueOf(p).Elem().FieldByName("person").Interface().(map[string]interface{}) {
fmt.Println(key, value)
}
}实战案例:读取 JSON 数据
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
data, err := ioutil.ReadFile("data.json")
if err != nil {
log.Fatal(err)
}
people := []Person{}
err = json.Unmarshal(data, &people)
if err != nil {
log.Fatal(err)
}
for _, person := range people {
fmt.Println(person.Name, person.Age)
}
}遵循这些步骤,你可以在 Golang 函数中轻松遍历各种类型的数据结构,解锁更多数据操作和处理的可能性。
以上就是如何在 Golang 函数中遍历不同类型的数据结构?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号