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 標誌執行程式。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP