在 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 循环遍历映射:
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 函数中遍历不同类型的数据结构?的详细内容,更多请关注抖狐科技其它相关文章!
-
涉及《黑神话:悟空》DLC剧情?杨奇暗示鹤仙人不能打
《黑神话:悟空》凭借其深厚的文化底蕴和出色的游戏品质,取得了令人瞩目的成绩,其中的剧情也获得了众多玩家的讨论。其中,最让人意难平的莫属四妹了,四妹不仅人美心善,而且从某种意义来说也是各位天命人的赛博老...
-
2022华为秋季新品发布会直播在哪看
秋季九月是一个收获的季节,当然也是一个开学的季节。所以不少厂家选择在这个时候发布全新产品来赢得顾客的青睐,那么今年的9月异常特别,因为我们即将迎来的是一场大戏。苹果与华为的强者对决,那么你们知道,20...
-
米哈游通行证如何关闭登录验证 登录验证关闭方法
米哈游通行证关闭登录验证?许多玩家在登录米哈游游戏时都遇到了需要进行登录验证的情况,让大家感到不便利。php小编柚子今天带来的内容就是讲解米哈游通行证如何关闭登录验证,有需要的玩家赶紧往下看看吧! 米...
-
生死一线x动作RPG“TRIBENINE”亮相Steam新品节
Akatsuki Games Inc.(本社:东京都品川区,代表董事兼 CEO:戸塚佑贵,为日本Akatsuki Inc.全资子公司)与 Tookyo Games (本社:埼玉县所泽市、代表董事兼...
-
DSA 与 JS:用 JavaScript 解释大 O 表示法
废话不多说,我们直接进入正题吧。什么是大 o 表示法以及它的用途是什么?明确的答案是 big o 表示法是一种描述算法性能如何随着输入大小的增长而变化的方法。它可以帮助您了解处理越来越大的数据量时代码...