Golang 中的 Foreach 循环

Jay Singh 2023年1月30日
  1. 在 Golang 中使用 slice 函数实现 foreach 循环
  2. 在 Golang 中使用 map 函数实现 foreach 循环
Golang 中的 Foreach 循环

本文将展示使用 Go 编程语言中的函数实现 foreach 循环的各种示例,并简要讨论 Golang 和使用的函数。

在 Golang 中使用 slice 函数实现 foreach 循环

foreach 关键字在 Go 中不存在;尽管如此,for 循环可以扩展来实现同样的目的。

区别在于 range 关键字与 for 循环一起使用。你可以在循环中使用 slices 键或值,就像许多其他语言中的 foreach 循环一样。

示例 1:

package main

//import fmt package
import (
	"fmt"
)
//program execution starts here
func main() {

	//declare and initialize slice
	fruits := []string{"mango", "grapes", "banana", "apple"}

	//traverse through the slice using for and range
	for _, element := range fruits {

		//Print each element in new line
		fmt.Println(element)
	}
}

输出:

mango
grapes
banana
apple

在上面的例子中,我们遍历了一片 fruit。之后,我们使用 for-range 在新行上打印每个元素。

示例 2:

在本例中,我们通过遍历字符串 slice 来打印每个单词。我们使用下划线 _ 代替键,因为我们需要值。

package main

import "fmt"

func main() {

	myList := []string{"rabbit", "dog", "parrot"}

	// for {key}, {value} := range {list}
	for _, animal := range myList {
		fmt.Println("My animal is:", animal)
	}
}

输出:

My animal is: rabbit
My animal is: dog
My animal is: parrot

在 Golang 中使用 map 函数实现 foreach 循环

数组可以迭代和循环遍历 map 中的每个元素。Golang Maps 是一组不以任何方式排序的键值对。

它广泛用于快速查找和可以使用键检索、更新或删除的值。

例子:

package main

import "fmt"

func main() {

	myList := map[string]string{
		"dog":      "woof",
		"cat":      "meow",
		"hedgehog": "sniff",
	}

	for animal, noise := range myList {
		fmt.Println("The", animal, "went", noise)
	}
}

输出:

The cat went meow
The hedgehog went sniff
The dog went woof