Golang程序 遍历字典元素

Golang程序 遍历字典元素

在 Golang 中,字典就像一个地图,是一组键值对,每个值都有一个唯一的键。值可以是任何类型,而键可以是任何类似的类型,如字符串或整数。我们可以通过使用内置的 “make “函数建立一个空地图,然后添加、检索或更新数值。在这里我们将使用两个例子来遍历字典中的元素,在第一个例子中,将使用 loop 来遍历元素,而在下一个例子中,将使用 slices 来遍历元素。

方法 1: 使用 for 循环和 range 关键字

这个方法用三个键值对创建一个 dictionary dict_value,然后用 for 循环和 range 关键字遍历 dictionary 的各个部分。在循环的每次迭代中,当前元素的键和值被分配到相应的变量中,然后它们被报告给控制台。

语法

map[strings]

一个地图实现了一个无序的键值对集合。一个地图的键都是不同的,用来获取它们所对应的值。它们是用关键字 “map “来声明的,后面是方括号中的键类型和值类型,可以用内置的 “make “函数来生成。方括号的语法可以用来添加、检索或更新键值对。一个动态地图的大小可以根据需要增加或减少。在Go编程中,地图是一种典型的数据结构,对于说明键和值之间的关系非常有用。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(格式包)包,其中main产生可执行代码,fmt帮助格式化输入和输出。

  • 第2步 – 创建一个main函数,并在该函数中使用map函数创建一个名为dict_values的字典,其中包含键值对。

  • 第3步 – 使用 range 关键字作为 for 循环的初始值来迭代字典中的项目。

  • 第4步– 在整个循环的每次迭代中,当前元素的键和值被分配给相关的变量。

  • 第5步 – 当前元素的键和值将使用fmt.Println()函数打印到控制台,ln表示新行。

  • 第6步 – 直到字典中的每个元素都被处理,对每个元素重复第3和第4步。

例子

在这个例子中,我们将使用一个循环和range关键字来遍历dictionary中的元素。让我们看看它的代码是如何执行的。

package main
import "fmt"

func main() {
   // Define a dictionary
   dict_values := map[string]int{
      "Apple":   100,
      "Mangoes": 200,
      "Banana":  60,
   }
   fmt.Println("The dictionary is iterated as follows:")

   // Iterate through the elements of the dictionary
   for key, value := range dict_values {
      fmt.Println(key, value)
   }
}

输出

The dictionary is iterated as follows:
Apple 100
Mangoes 200
Banana 60

方法 2: 使用切分法

在这个方法中,我们首先使用一个 for 循环和 range 关键字来切分字典的键。然后,使用一个额外的for循环和索引操作符[],我们在这些键中循环,以获得适当的值。最后,我们将每个元素的键和值报告给控制台。

语法

func append(slice, element_1, element_2…, element_N) []T

append函数用于向一个数组片断添加值。它需要一些参数。第一个参数是我们希望添加的数组,后面是要添加的值。然后,该函数返回包含所有值的数组的最终片断。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(format package)包,其中main产生可执行代码,fmt帮助格式化输入和输出。

  • 第2步 – 创建一个函数main,在该函数中使用map函数创建一个包含键值对的字典dict_values。

  • 第3步 – 为了遍历字典的键并产生键的片断,用range关键字初始化一个for循环。

  • 第 4 步 – 设置第二个 for 循环,开始迭代新形成的片断中的键。

  • 第 5 步 – 利用索引操作符 [] 从字典中为片断中的每个键检索相关的值。

  • 第6步 – 每个元素的键和值将使用fmt.Println()函数打印到控制台,ln表示新行。

  • 第7步 – 对于片断中的每个键,重复第4和第5步,直到所有的组件都被处理。

例子

在这个例子中,分片被用来遍历一个字典的元素。让我们看看这个代码。

package main
import "fmt"

func main() {
   // Define a dictionary
   dict_values := map[string]int{
      "Apple":   100,
      "Mangoes": 200,
      "Banana":  60,
   }

   // Get a slice of the keys from the dictionary
   slice := make([]string, 0, len(dict_values))
   for key := range dict_values {
      slice = append(slice, key)
   }
   fmt.Println("The dictionary is iterated as follows:")
   // Iterate through the keys and get the corresponding values
   for _, key := range slice {
      value := dict_values[key]
      fmt.Println(key, value)
   }
}

输出

The dictionary is iterated as follows:
Apple 100
Mangoes 200
Banana 60

结论

我们用两种方法执行了遍历字典元素的程序。在第一种方法中,我们使用了for循环和range关键字,在第二个例子中,我们使用切片来迭代字典中的元素。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程