中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

專注做一家男人最愛的網(wǎng)站廣州seo運營

專注做一家男人最愛的網(wǎng)站,廣州seo運營,企業(yè)網(wǎng)站建設(shè)代理商,滄州網(wǎng)站運營編程筆記 Golang基礎(chǔ) 024 映射 一、映射二、映射的定義與初始化三、基本操作四、綜合示例程序 Go語言中的映射(map)是一種關(guān)聯(lián)數(shù)組或哈希表數(shù)據(jù)結(jié)構(gòu),它存儲鍵值對,其中每個鍵都是唯一的。在Go中,你可以使用 map[keyTy…

編程筆記 Golang基礎(chǔ) 024 映射

  • 一、映射
  • 二、映射的定義與初始化
  • 三、基本操作
  • 四、綜合示例程序

Go語言中的映射(map)是一種關(guān)聯(lián)數(shù)組或哈希表數(shù)據(jù)結(jié)構(gòu),它存儲鍵值對,其中每個鍵都是唯一的。在Go中,你可以使用 map[keyType]valueType來聲明一個映射。

一、映射

在Go語言中,映射(map)是一種內(nèi)置的數(shù)據(jù)結(jié)構(gòu),它提供了一種關(guān)聯(lián)鍵值對的方式,允許通過唯一的鍵(key)來存儲和檢索對應(yīng)的值(value)。映射中的鍵是唯一的,并且用于快速查找相關(guān)聯(lián)的值。這種數(shù)據(jù)結(jié)構(gòu)常被稱為關(guān)聯(lián)數(shù)組、哈希表或字典,在其他編程語言中也有類似的概念。

Go語言中的映射定義語法如下:

map[keyType]ValueType

例如,創(chuàng)建一個存儲字符串到整數(shù)的映射:

var m map[string]int

使用映射時需要注意以下幾點:

  • 映射在使用前必須初始化(可以通過 make 函數(shù)或者直接聲明并初始化),否則會引發(fā)運行時錯誤。
  • 映射的鍵必須是可比較類型,也就是說,它們需要支持相等性判斷操作(== 和 !=)。
  • 映射是無序的,因此不能保證迭代順序的一致性。
  • Go 語言中的映射實現(xiàn)了高效的查找、插入和刪除操作,這些操作的時間復(fù)雜度通常接近 O(1)。

示例代碼:

// 初始化一個映射
m := make(map[string]int)// 插入鍵值對
m["apple"] = 1
m["banana"] = 2// 根據(jù)鍵查找值
value, ok := m["apple"]
if ok {fmt.Println("The value for key 'apple' is", value)
} else {fmt.Println("Key 'apple' not found")
}// 刪除鍵值對
delete(m, "banana")

在這個例子中,“ok”是一個布爾值,表示查找是否成功找到指定的鍵。如果鍵存在,則“ok”為true,同時返回相應(yīng)的值;如果鍵不存在,則“ok”為false,返回的值為零值。

二、映射的定義與初始化

// 定義并初始化一個字符串到整數(shù)的映射
var numbers map[string]int = map[string]int{"one": 1, "two": 2, "three": 3}// 或者直接初始化而不聲明變量類型
numbers := map[string]int{"one": 1, "two": 2, "three": 3}// 使用make函數(shù)創(chuàng)建一個新的映射(推薦方式)
numbers := make(map[string]int)
numbers["one"] = 1
numbers["two"] = 2
numbers["three"] = 3

三、基本操作

  • 插入和訪問元素:
numbers["four"] = 4 // 插入新的鍵值對
value, exists := numbers["one"] // 訪問元素,exists為bool型,表示鍵是否存在
if exists {fmt.Println("The value of 'one' is", value)
}
  • 刪除元素:
delete(numbers, "two") // 刪除鍵為"two"的鍵值對
  • 遍歷映射:
for key, value := range numbers {fmt.Printf("Key: %s, Value: %d\n", key, value)
}

四、綜合示例程序

下面是一個綜合應(yīng)用的示例程序,該程序創(chuàng)建了一個學(xué)生姓名到分數(shù)的映射,并實現(xiàn)了添加、查詢、刪除和遍歷操作:

package mainimport ("fmt"
)func main() {// 初始化一個映射scores := make(map[string]int)// 添加一些學(xué)生的分數(shù)scores["Alice"] = 95scores["Bob"] = 85scores["Charlie"] = 90// 查詢并打印某個學(xué)生的分數(shù)if score, ok := scores["Alice"]; ok {fmt.Printf("Alice's score is %d.\n", score)} else {fmt.Println("Alice is not in the records.")}// 更新一個學(xué)生的分數(shù)scores["Bob"] = 90// 刪除一個學(xué)生記錄delete(scores, "Charlie")// 遍歷并打印所有學(xué)生的分數(shù)fmt.Println("All students' scores:")for name, score := range scores {fmt.Printf("%s: %d\n", name, score)}
}

在這個示例中,我們首先創(chuàng)建了一個名為scores的映射,用于存儲學(xué)生姓名及其對應(yīng)的分數(shù)。然后演示了如何向映射中插入數(shù)據(jù)、通過鍵查詢值、更新現(xiàn)有鍵的值以及刪除鍵值對。最后,通過range關(guān)鍵字遍歷映射并打印所有的學(xué)生分數(shù)。

http://www.risenshineclean.com/news/28766.html

相關(guān)文章:

  • 全網(wǎng)搜索石家莊seo全網(wǎng)營銷
  • 東莞網(wǎng)絡(luò)展示平臺東莞seo外包
  • 網(wǎng)站建設(shè)與維護是做什么seo公司上海牛巨微
  • wordpress的app怎么用而的跟地seo排名點擊軟件
  • 設(shè)計高端網(wǎng)站怎么宣傳自己的產(chǎn)品
  • 成都網(wǎng)站排名優(yōu)化今日新聞頭條新聞今天
  • 常寧網(wǎng)頁設(shè)計西安百度關(guān)鍵詞優(yōu)化排名
  • 濟南市做網(wǎng)站大連網(wǎng)站開發(fā)公司
  • php 網(wǎng)站 下載百度網(wǎng)址大全網(wǎng)站大全
  • sqlite做網(wǎng)站下載優(yōu)化大師安裝桌面
  • 網(wǎng)站空間購買800seo運營工作內(nèi)容
  • 兩個wordpress文章同步seo教程百度網(wǎng)盤
  • 17. 整個網(wǎng)站建設(shè)中的關(guān)鍵是關(guān)鍵詞優(yōu)化和seo
  • 做異地送花網(wǎng)站愛站小工具圣經(jīng)
  • 蘇中建設(shè)南京區(qū)域公司上海網(wǎng)站營銷seo電話
  • 中文域名做的網(wǎng)站有哪些深圳優(yōu)化網(wǎng)站
  • 哪有專業(yè)做網(wǎng)站推廣優(yōu)化網(wǎng)站排名
  • 上海施工單位廣東企業(yè)網(wǎng)站seo報價
  • 東陵網(wǎng)站制作產(chǎn)品推廣策劃方案怎么做
  • 自己如何開自己的商城搜索引擎優(yōu)化是免費的嗎
  • 給網(wǎng)站做排名優(yōu)化學(xué)什么好處包就業(yè)的培訓(xùn)學(xué)校
  • 基于java開發(fā)網(wǎng)站開發(fā)網(wǎng)站關(guān)鍵詞提升
  • 企業(yè)商務(wù)網(wǎng)站的技術(shù)上海關(guān)鍵詞排名提升
  • 學(xué)校網(wǎng)站建設(shè)先進個人榮譽長沙好的seo外包公司
  • 網(wǎng)站建設(shè)公司運營手機建站系統(tǒng)
  • jsp網(wǎng)站制作詳細教程站長工具流量統(tǒng)計
  • 廣州淘寶網(wǎng)站建設(shè)泰州百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站開發(fā)軟件系統(tǒng)教程seo推廣排名網(wǎng)站
  • 烽火臺網(wǎng)站游戲推廣一個月能拿多少錢
  • 可信網(wǎng)站身份驗證免費制作自己的網(wǎng)頁