Go語言程式建立雜湊集合
在本文中,我們將編寫一個Go語言程式,藉助make函式和map函式來建立雜湊集合。雜湊對映儲存鍵值對,可以透過索引訪問。在這個程式中,我們將透過兩個例子來建立一個雜湊集合。
語法
func make ([] type, size, capacity)
Go語言中的make函式用於建立陣列/對映,它接受要建立的變數型別、大小和容量作為引數。
使用Make函式
在這個方法中,我們將使用make函式建立一個雜湊對映,然後向該雜湊對映新增鍵值對。我們將以多種方式操作雜湊對映,例如列印鍵值對或列印整個對映。
演算法
步驟1 - 建立一個main包,並在程式中宣告fmt(格式化包),其中main產生可執行程式碼,fmt幫助格式化輸入和輸出。
步驟2 - 建立一個main函式,並在該函式中使用Go語言的內建make函式建立一個雜湊對映。
步驟3 - 在此步驟中,將值新增到雜湊對映中的鍵(pen、pencil和marker)。
步驟4 - 使用fmt包中的Println函式在控制檯上列印雜湊對映。
步驟5 - 然後,列印從上面建立的鍵值對中選擇的鍵的值,與步驟4中的操作類似。
步驟6 - 然後,使用if-else條件檢查特定鍵是否存在於對映中,如果存在則列印鍵值對,否則列印該鍵沒有可用資訊。
示例
以下示例演示了使用make函式建立雜湊集合的Go語言程式
package main
import "fmt"
func main() {
hashmap := make(map[string]int)
hashmap["pen"] = 26
hashmap["pencil"] = 30
hashmap["marker"] = 34
fmt.Println(hashmap)
fmt.Println("The price of pencil is:", hashmap["pencil"])
value, exists := hashmap["marker"]
if exists {
fmt.Println("The price of marker is:", value)
} else {
fmt.Println("There is no information about marker")
}
}
輸出
map[marker:34 pen:26 pencil:30] The price of pencil is: 30 The price of marker is: 34
使用對映字面量
在這個方法中,我們將使用對映字面量而不是make函式來建立雜湊對映。其他函式將與上一個示例中執行的操作類似。
演算法
步驟1 - 建立一個main包,並在程式中宣告fmt(格式化包),其中main產生可執行程式碼,fmt幫助格式化輸入和輸出。
步驟2 - 建立一個main函式,在這個函式中使用對映字面量建立雜湊對映,並將值賦給對映中的鍵。
步驟3 - 在此步驟中,使用fmt.Println()函式在控制檯上列印對映,這裡的ln表示換行。
步驟4 - 在這裡,列印特定的鍵值對以操作雜湊對映。在本例中,我們使用了pencil的值在控制檯上列印,類似於步驟3。
步驟5 - 在本例中,檢查鍵的值是否存在於對映中,並使用if-else條件,如果鍵存在於對映中則列印值,如果不存在則列印無資訊。
示例
以下示例演示了使用對映字面量建立雜湊集合的Go語言程式
package main
import "fmt"
func main() {
hashmap := map[string]int{
"pen": 24,
"pencil": 30,
"marker": 36,
}
fmt.Println(hashmap)
fmt.Println("The price of pencil is:", hashmap["pencil"])
value, exists := hashmap["marker"]
if exists {
fmt.Println("The price of marker is:", value)
} else {
fmt.Println("There is no information about marker")
}
}
輸出
map[marker:36 pen:24 pencil:30] The price of pencil is: 30 The price of marker is: 36
結論
我們透過兩個例子執行了建立雜湊集合的程式。這兩個例子執行方式相似,它們之間的基本區別在於,在第一個例子中,雜湊對映是藉助Go語言中的內建函式make函式建立的,而在第二個例子中,雜湊對映是藉助對映字面量建立的。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP