<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 1.map 語法: ~~~ make(map[KeyType]ValueType, [cap]) ~~~ KeyType:表示鍵的類型 ValueType:表示鍵對應的值的類型 cap:表示map的容量,該參數雖然不是必須的,但是我們應該在初始化map的時候就為其指定一個合適的容量 --- map 的零值是`nil`。如果你想添加元素到 nil map 中,會觸發運行時 panic。因此 map 必須使用`make`函數初始化 ~~~ personSalary = make(map[string]int) // 賦值 personSalary := make(map[string]int) // 簡潔寫法 personSalary["steve"] = 12000 // 添加元素 personSalary["jamie"] = 15000 personSalary["mike"] = 9000 m1 := map[int]string{1: "one", 2: "tow", 3: "three"} // map申明及初始化 personSalary["mike"] = 9000 // 獲取元素 delete(personSalary, "steve") // 刪除元素 value, ok := map[key] //獲取 map 中某個 key 是否存在的語法。如果`ok`是 true,表示 key 存在,key 對應的值就是`value`,反之表示 key 不存在 // 遍歷 for key, value := range personSalary { fmt.Printf("personSalary[%s] = %d\n", key, value) } ~~~ ### 1.1按照指定順序遍歷map ~~~ func main() { rand.Seed(time.Now().UnixNano()) //初始化隨機數種子 var scoreMap = make(map[string]int, 200) for i := 0; i < 100; i++ { key := fmt.Sprintf("stu%02d", i) //生成stu開頭的字符串 value := rand.Intn(100) //生成0~99的隨機整數 scoreMap[key] = value } //取出map中的所有key存入切片keys var keys = make([]string, 0, 200) for key := range scoreMap { keys = append(keys, key) } //對切片進行排序 sort.Strings(keys) //按照排序后的key遍歷map for _, key := range keys { fmt.Println(key, scoreMap[key]) } } ~~~ ### 1.2. 元素為map類型的切片 下面的代碼演示了切片中的元素為map類型時的操作: ~~~ func main() { var mapSlice = make([]map[string]string, 3) for index, value := range mapSlice { fmt.Printf("index:%d value:%v\n", index, value) } fmt.Println("after init") // 對切片中的map元素進行初始化 mapSlice[0] = make(map[string]string, 10) mapSlice[0]["name"] = "王五" mapSlice[0]["password"] = "123456" mapSlice[0]["address"] = "紅旗大街" for index, value := range mapSlice { fmt.Printf("index:%d value:%v\n", index, value) } } ~~~ ### 1.3. 值為切片類型的map 下面的代碼演示了map中值為切片類型的操作: ~~~ func main() { var sliceMap = make(map[string][]string, 3) fmt.Println(sliceMap) fmt.Println("after init") key := "中國" value, ok := sliceMap[key] if !ok { value = make([]string, 0, 2) } value = append(value, "北京", "上海") sliceMap[key] = value fmt.Println(sliceMap) } ~~~ ***** 【知識點】 * map 也是引用類型。當 map 被賦值為一個新變量的時候,它們指向同一個內部數據結構。因此,改變其中一個變量,就會影響到另一變量 * map 之間不能使用`==`操作符判斷,`==`只能用來檢查 map 是否為`nil` * map中當訪問的key不存在時會返回默認的零值
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看