Go語言程式檢查雜湊集合是否為空


在本文中,我們將編寫一個 Go 語言程式來檢查雜湊集合是否為空。雜湊集合是一種資料結構,它在 Go(Golang)中包含鍵值對,並支援快速查詢、新增和刪除。可以透過將鍵雜湊到索引中來訪問對應於該鍵的值。

Go 中以 map 形式存在的雜湊集合有內建支援。這裡,map 是一種引用型別,透過使用 map 關鍵字宣告,後跟鍵型別和值型別,格式如下。

語法

func make ([] type, size, capacity)

Go 語言中的 make 函式用於建立陣列/map,它接受要建立的變數的型別、大小和容量作為引數。

func len(v Type) int

len() 函式用於獲取任何引數的長度。它接受一個引數作為要查詢其長度的資料型別變數,並返回一個整數,即變數的長度。

func range(variable)

range 函式用於迭代任何資料型別。要使用它,我們首先必須編寫 range 關鍵字,後跟我們要迭代到的資料型別,結果迴圈將迭代到變數的最後一個元素。

演算法

  • 步驟 1 − 建立一個 package main 並宣告程式中的 fmt(格式化包),其中 main 生成可執行程式碼,fmt 幫助格式化輸入和輸出。

  • 步驟 2 − 建立一個 main 函式,並在該函式內部使用 make 函式和 map 字面量建立一個名為 map_create 的 map。

  • 步驟 3 − 在此步驟中,檢查建立的 map 的長度是否等於 0。

  • 步驟 4 − 如果步驟 3 中的條件滿足,則列印 map 為空,否則列印 map 不為空,使用 if-else 條件。

  • 步驟 5 − 使用 fmt.Println() 函式執行列印語句,其中 ln 表示換行。

示例 1

在此示例中,我們將使用 len 函式來檢查 map 是否為空。我們將使用 make 函式(一種內建函式型別)建立一個 map。然後,我們將對 map 使用 len 方法以獲取輸出。

package main

import "fmt"

func main() {
   map_create := make(map[string]int) 
   if len(map_create) == 0 {
      fmt.Println("Map is empty")
   } else {
      fmt.Println("Map is not empty")   
   }
}

輸出

Map is empty

示例 2

在此示例中,我們將使用一個外部函式,該函式將返回一個布林值,指示 map 是否為空。在這種情況下,將使用 if-else 條件透過操作從函式返回的值來檢視 map 是否為空。

package main

import "fmt"

func is_map_empty(map_create map[string]int) bool {
   return len(map_create) == 0
}

func main() {
   map_create := make(map[string]int)

   if is_map_empty(map_create) {
      fmt.Println("Map is empty")
   } else {
      fmt.Println("Map is not empty")
   }
}

輸出

Map is empty

示例 3

在此示例中,我們將編寫一個 Golang 程式,使用 empty 標誌檢查雜湊集合是否為空,其中預設值將設定為 true。

package main

import "fmt"

func main() {
   hashmap := make(map[string]string)	
   empty := true
   for key, _ := range hashmap {
      if key != "" {
         empty = false
         break
      }
   }

   if empty {
      fmt.Println("Hash is empty")
   } else {
      fmt.Println("Hash is not empty")
   }
   
   hashmap["key1"] = "value1"	
	empty = true
   for key, _ := range hashmap {
      if key != "" {
         empty = false
         break
      }
   }

   if empty {
      fmt.Println("Hash is empty")
   } else {
      fmt.Println("Hash is not empty")
   }
}

輸出

Hash is empty
Hash is not empty

結論

我們使用三個示例執行了檢查雜湊集合是否為空的程式。在第一個示例中,我們使用 len 函式執行程式,在第二個示例中,我們使用一個返回值為布林的外部函式,在第三個示例中,我們使用 empty 標誌執行程式。

更新於: 2023年4月3日

191 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.