Go语言程序使用不同类型的集合


在 Go 语言中,集合是一种数据结构,用于存储多个元素,通常是相同类型的元素。Go 中的集合类型包括数组、切片、映射和通道。切片被认为是动态数组,其大小可以更改,而数组具有固定大小。通道为 goroutine 提供了一种通信和同步其执行的方法,而映射用于键值存储。在这里,我们将展示使用不同方式执行映射、切片和数组,如下面的示例所示。

方法 1:使用映射、切片和数组

此方法展示了如何在 Go 中使用数组、切片和映射。数组可以动态调整大小,并用于存储任何类型元素的数据结构称为切片。映射是一组键值对,每个值都有一个唯一的键。固定大小、有序的相同类型元素的集合称为数组。

算法

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

  • 步骤 2 − 创建一个 main 函数,并在该函数中创建一个名为 countries 的 []string 类型切片,并为其提供一些元素。

  • 步骤 3 − 使用 Println 语句在控制台上打印切片。

  • 步骤 4 − 创建一个名为 Map 的 map[string]int 类型映射,并为其提供一些键值对。

  • 步骤 5 − 使用 Println 函数打印映射 Map。

  • 步骤 6 − 创建一个 [3]int 类型名为 number 的数组,并向其中添加一些元素。

  • 步骤 7 − 使用 Println 函数输出数组的整数。

  • 步骤 8 − 通过这种方法,您可以了解如何在 Go 中生成和使用各种集合,包括切片、映射和数组。

示例

在此示例中,我们将使用切片、映射和数组来演示不同类型的集合。

package main
import "fmt"

func main() {
   // slice
   countries := []string{"Canada", "Italy", "India"}
   fmt.Println("The slice created here is:", countries)

   // map
   Map := map[string]int{"Canada": 3, "Italy": 2, "India": 1}
   fmt.Println("The map created here is:", Map)
   
   // array
   var values [3]int
   values[0] = 10
   values[1] = 20
   values[2] = 30
   fmt.Println("The array created here is:", values)
}

输出

The slice created here is: [Canada Italy India]
The map created here is: map[Canada:3 India:1 Italy:2]
The array created here is: [10 20 30]

方法 2:使用切片、映射和数组复合字面量

此方法描述了在 Go 中访问各种集合的另一种方法,该方法使用复合字面量初始化切片、映射和数组。

算法

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

  • 步骤 2 − 创建一个 main 函数,并在该函数中使用复合字面量创建一个名为 countries 的 []string 类型切片,并向其中添加一些元素。

  • 步骤 3 − 使用 Println 函数打印切片 countries。

  • 步骤 4 − 使用复合字面量创建一个名为 Map 的 map[string]int 类型映射,并为其提供一些键值对。

  • 步骤 5 − 使用 Println 函数打印映射 Map。

  • 步骤 6 − 使用复合字面量创建一个 [3]int 类型的变量,并为其分配一些元素。

  • 步骤 7 − 使用 Println 函数输出数组的整数。

  • 步骤 8 − 由于此方法使用复合字面量初始化切片、映射和数组,因此其代码比前一种方法更短、更易于阅读。

示例

在此示例中,我们将使用切片、映射和数组复合字面量来执行程序。

package main
import "fmt"

func main() {
   // slice using composite literal
   countries := []string{"Canada", "Italy", "India"}
   fmt.Println("The slice created here is:", countries)

   // map using composite literal
   Map := map[string]int{"Canada": 3, "Italy": 2, "India": 1}
   fmt.Println("The map created here is:", Map)

   // array using composite literal
   values := [3]int{10, 20, 30}
   fmt.Println("The array created here is:", values)
}

输出

The slice created here is: [Canada Italy India]
The map created here is: map[Canada:3 India:1 Italy:2]
The array created here is: [10 20 30]

结论

我们使用两种方法执行了使用不同类型集合的程序。在第一种方法中,我们使用了切片、数组和映射,在第二个示例中,我们使用了类似的集合,这些集合是在复合字面量的帮助下构建的。

更新于: 2023年2月22日

899 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告