Go 知识for-range
在 Go 语言中,for-range
是一种常用的循环结构,用于遍历数组、切片、字符串、map 或者结构体中的字段。
以下是一些使用 for-range
的示例:
- 遍历数组或切片:
numbers := []int{1, 2, 3, 4, 5}
for index, number := range numbers {
fmt.Printf("Index: %d, Number: %d\n", index, number)
}
在这个例子中,range
关键字会返回元素的索引和值。
- 遍历字符串:
str := "Hello, World!"
for index, char := range str {
fmt.Printf("Index: %d, Character: %c\n", index, char)
}
在这个例子中,range
关键字会返回字符的索引和字符值。
- 遍历 map:
m := map[string]int{
"one": 1,
"two": 2,
"three": 3,
}
for key, value := range m {
fmt.Printf("Key: %s, Value: %d\n", key, value)
}
在这个例子中,range
关键字会返回键和值。
- 遍历结构体的字段:
type Person struct {
FirstName string
LastName string
Age int
}
person := Person{
FirstName: "John",
LastName: "Doe",
Age: 30,
}
for index, field := range &person {
fmt.Printf("Index: %d, Field: %v\n", index, field)
}
在这个例子中,range
关键字会返回字段的索引和值。由于结构体不是一个可遍历的类型,我们需要取结构体的地址然后进行遍历。
以上示例展示了 for-range
的基本用法,在实际编程中可以根据需要选择合适的遍历方式。
评论已关闭