代碼:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、萬(wàn)載網(wǎng)站維護(hù)、網(wǎng)站推廣。
if _, ok := map[key]; ok { //存在 }
另外golang也沒有提供item是否在array當(dāng)中的判斷方法,如果程序里面頻繁用到了這種判斷,可以將array轉(zhuǎn)化為以array當(dāng)中的成員為key的map再用上面的方法進(jìn)行判斷,這樣會(huì)提高判斷的效率。
示例:
package main import "fmt" func main() { //聲明并初始化一個(gè)map,key是int64類型,value是string類型 myMap := make(map[int64]string) myMap[1] = "value1" myMap[2] = "value2" myMap[5] = "value5" myMap[6] = "value6" //聲明一個(gè)int64數(shù)組,然后遍歷數(shù)組,num是數(shù)組中的元素,下劃線_代表元素的下標(biāo)位置 for _, num := range []int64{1, 2, 3, 4, 5, 6} { //不關(guān)心數(shù)組中的value,用下劃線代替 //一般都習(xí)慣用ok變量表示是否包含,也可以用別的變量名字 if _, ok := myMap[num]; ok { fmt.Printf("myMap中包含key:%d \n", num, ) } else { fmt.Printf("myMap中不包含key:%d\n", num) } } fmt.Println("=================分割線=======================") for _, num := range []int64{1, 2, 3, 4, 5, 6} { //如果包含key,想知道value,就把返回值賦給一個(gè)變量,這兒用變量v //這兒用變量s表示是否包含指定的key if v, s := myMap[num]; s { fmt.Printf("myMap中包含key:%d,value值為:%s\n", num, v) } else { fmt.Printf("myMap中不包含key:%d\n", num) } } }
運(yùn)行后輸出:
myMap中包含key:1 myMap中包含key:2 myMap中不包含key:3 myMap中不包含key:4 myMap中包含key:5 myMap中包含key:6 =================分割線======================= myMap中包含key:1,value值為:value1 myMap中包含key:2,value值為:value2 myMap中不包含key:3 myMap中不包含key:4 myMap中包含key:5,value值為:value5 myMap中包含key:6,value值為:value6