Go語言程式:在雜湊集合中搜索專案


在本文中,我們將編寫Go語言程式來在雜湊集合中搜索專案。雜湊對映是雜湊集合的一部分。在這裡,我們使用Go語言的map(使用map字面量構建)構建一個雜湊對映作為鍵值對的集合。我們將使用兩個示例來執行此程式。

語法

func range(variable)

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

使用Exists關鍵字

在此方法中,我們將使用exists來檢查特定專案是否存在於對映中。在這裡,我們將使用雜湊對映中的索引檢查key4是否存在於對映中。

演算法

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

  • 步驟2 - 建立一個main函式,並在該函式中使用map字面量建立一個雜湊對映,其中鍵的型別為字串,值的型別為整數。

  • 步驟3 - 為對映中的每個鍵賦值。

  • 步驟4 - 然後,使用exists關鍵字在雜湊對映中搜索任何特定專案,這裡我們搜尋key4。

  • 步驟5 - 如果鍵存在於對映中,則其值將使用fmt包中的Println()函式列印到控制檯。

  • 步驟6 - 如果對映中不存在鍵,則類似於步驟5,將列印“該專案不存在於雜湊集合中”。

示例

以下示例演示了使用exists關鍵字在雜湊集合中搜索專案的Go語言程式

package main

import "fmt"

func main() {
   hashmap := map[string]int{  
      "key1": 10,
      "key2": 20,
      "key3": 30,
      "key4": 40,  
   }	
   value, exists := hashmap["key4"]  
   if exists {
      fmt.Println("The value of 'key4' is:", value)
   } else {
      fmt.Println("The item does not exist in the hash collection.")
   }
}

輸出

The value of 'key4' is: 40

使用Found標誌

在此示例中,我們將建立與上一個示例中類似的雜湊對映,但在這裡我們將使用一個名為found的標誌,並將其預設值設定為false。

演算法

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

  • 步驟2 - 建立一個main函式,在這個函式中建立一個與上一個示例類似的雜湊對映,併為鍵賦值。

  • 步驟3 - 在此步驟中,建立一個名為searchkey的變數,並將要搜尋其值的特定鍵儲存在變數中。在本例中,我們使用了key4。

  • 步驟4 - 建立一個名為found的標誌,並將其初始值賦值為false。

  • 步驟5 - 建立另一個名為value的變數,其型別為int,用於儲存鍵的值。

  • 步驟6 - 然後,在雜湊對映上執行一個迴圈,並在每次迭代中檢查searchkey和鍵是否彼此相等。

  • 步驟7 - 如果它們彼此相等,則將found設定為true,並將鍵的原始值賦給value變數。

  • 步驟8 - 如果找到鍵,則中斷迴圈。

  • 步驟9 - 迴圈終止後,檢查found的值,如果found為true,則使用fmt包中的Println函式將鍵的值列印到控制檯。

  • 步驟10 - 如果found=false,則列印一條語句,表明該鍵未在雜湊集合中找到。

示例

以下示例說明了使用found標誌在雜湊集合中搜索專案的Go語言程式

package main

import "fmt"

func main() {
   hashmap := map[string]int{ 
      "key1": 10,    
      "key2": 20,
      "key3": 30,
      "key4": 40,
   }
   searchKey := "key4"
   found := false            
   var value int                
   for key, val := range hashmap {
      if key == searchKey {
         found = true
         value = val
         break    
      }
   }

   if found {
      fmt.Println("The value of", searchKey, "is", value)
   } else {
      fmt.Println(searchKey, "not found in the hash collection.")
   }
}

輸出

The value of key4 is 40

使用格式化識別符號

在此方法中,我們將編寫一個Go程式,使用格式化識別符號在雜湊集合中搜索專案。

演算法

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

  • 步驟2 - 建立一個main函式,在其中建立一個map,鍵的型別為字串,值的型別為整數。

  • 步驟3 - 將鍵設定為對映中的一個鍵,以搜尋其是否存在於對映中。

  • 步驟4 - 使用索引檢查對映中的鍵,並使用found標誌。

  • 步驟5 - 然後,使用if-else條件語句檢查found是否為true,這意味著鍵元素存在於對映中。

  • 步驟6 - 但是,如果found為false,則鍵不存在於對映中。

  • 步驟7 - 使用格式化識別符號將鍵及其值列印到控制檯。

示例

以下示例演示瞭如何開發使用格式化識別符號在雜湊集合中搜索專案的Go語言程式

package main

import "fmt"

func main() {

   values := map[string]int{
      "pen":    10,
      "pencil": 20,
      "scale":  30,
   }

   key := "pen"
   value, found := values[key]

   if found {
      fmt.Printf("Found %s with value %d\n", key, value)
   } else {
      fmt.Printf("%s not found\n", key)
   }
}

輸出

Found pen with value 10

結論

我們使用三個不同的示例執行了在雜湊集合中搜索專案的程式。在第一個示例中,我們使用exists關鍵字在雜湊對映中搜索專案;在第二個示例中,我們使用found標誌執行程式;在第三個示例中,我們使用格式化識別符號在對映中搜索鍵。兩個示例都給出了預期的輸出。

更新於:2023年4月3日

瀏覽量:207

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告