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 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.