Go語言建立簡單對映的程式


Go 語言中的對映是強大的資料結構,允許我們儲存和檢索鍵值對。它們可用於各種應用程式,例如儲存和操作資料、實現字典和執行高效查詢。在本文中,我們將編寫一個程式,使用兩種方法(字面量方法和 make() 函式方法)在 Go 語言中建立一個簡單的對映。

演算法

  • 使用所需的鍵和值型別宣告一個對映變數。

  • 使用字面量表示法初始化對映,方法是用花括號 {} 括住鍵值對。

  • 使用冒號 ':' 語法為各個鍵賦值。

  • 可選擇地,對其他鍵值對重複步驟 2 和 3。

  • 現在對映已建立並可以使用。

語法

mapName := map[keyType]valueType{key1: value1, key2: value2, ...}

此語法表示使用字面量表示法建立對映。我們宣告一個名為“mapName”的對映變數,並在方括號內指定鍵和值型別。在花括號內,我們提供由冒號分隔的鍵值對。

make(map[keyType]valueType)

此語法使用 make() 函式建立對映。我們宣告一個名為“mapName”的對映變數,並賦值 make() 函式的結果,指定鍵和值型別作為引數。此方法建立一個空對映,我們稍後可以在其中填充鍵值對。

示例

在此示例中,我們將建立一個簡單的 Go 語言對映,用於儲存水果的名稱及其相應的數量。使用字面量方法,我們可以宣告並初始化一個名為 'fruitMap' 的對映,其鍵型別為字串,值型別為 int。然後,我們使用表示不同水果及其數量的鍵值對填充對映。最後,我們可以訪問並列印對映中的值。

package main

import "fmt"

func main() {
	fruitMap := map[string]int{
		"apple":  5,
		"banana": 3,
		"orange": 2,
	}

	fmt.Println("Fruit Map:", fruitMap)
	fmt.Println("Quantity of Apples:", fruitMap["apple"])
	fmt.Println("Quantity of Bananas:", fruitMap["banana"])
}

輸出

Fruit Map: map[apple:5 banana:3 orange:2]
Quantity of Apples: 5
Quantity of Bananas: 3

示例

在此示例中,我們將建立一個簡單的 Go 語言對映,用於儲存程式語言的名稱及其相應的流行度評分。使用 make() 函式方法,我們可以宣告並初始化一個名為 'langMap' 的對映,其鍵型別為字串,值型別為 float64。然後,我們使用表示不同程式語言及其流行度評分的鍵值對填充對映。最後,我們可以訪問並列印對映中的值。

package main

import "fmt"

func main() {
	langMap := make(map[string]float64)

	langMap["Go"] = 9.2
	langMap["Python"] = 9.8
	langMap["JavaScript"] = 10.0

	fmt.Println("Language Map:", langMap)
	fmt.Println("Popularity of Go:", langMap["Go"])
	fmt.Println("Popularity of Python:", langMap["Python"])
}

輸出

Language Map: map[Go:9.2 JavaScript:10 Python:9.8]
Popularity of Go: 9.2
Popularity of Python: 9.8

現實生活中的應用

地理位置服務

對映廣泛用於 Google 地圖、Waze 和 Apple 地圖等地理位置服務。這些應用程式使用對映來顯示位置、提供導航、計算距離並提供即時交通更新。對映幫助使用者找到路線、發現附近的地點並有效地規劃路線。

使用者身份驗證

在 Web 開發中,對映可用於儲存使用者身份驗證資料。例如,對映可以將使用者 ID 與其對應的身份驗證令牌或會話資料關聯起來。這允許網站在登入期間快速驗證使用者憑據並安全地管理使用者會話。

結論

Go 語言中的對映用於基於唯一的鍵儲存和檢索值。在本文中,我們研究瞭如何在 Go 語言中建立一個簡單的對映,包括字面量方法和 make() 函式方法。這些方法允許我們有效地宣告、初始化和填充包含鍵值對的對映。這些方法在 Google 地圖中非常有用,可以提供地圖上的即時交通訊息,以及儲存使用者身份驗證資料。

更新於:2023年9月7日

瀏覽量:150

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.