Latest web development tutorials

Go Язык карты (коллекция)

Карта представляет собой неупорядоченный набор ключей. Карта самое главное, чтобы быстро получить данные по ключу, индекс ключа аналогично, точки к значению данных.

Карта представляет собой коллекцию, так что мы можем это нравится как итеративный итерационных массивов и ломтиками. Тем не менее, на карте разупорядочена, мы не можем определить его обратный порядок, это происходит потому, что карта является использование хэш-таблицу для достижения.

Определено Карта

Вы можете использовать встроенные функции также могут быть определены с помощью карты Карта Ключевые слова:

/* 声明变量,默认 map 是 nil */
var map_variable map[key_data_type]value_data_type

/* 使用 make 函数 */
map_variable = make(map[key_data_type]value_data_type)

Если вы не инициализировать карту, она будет создавать нулевую карту. ноль карта не может быть использована для хранения пар ключ-значение

примеров

Следующий пример демонстрирует создание и использование карты:

package main

import "fmt"

func main() {
   var countryCapitalMap map[string]string
   /* 创建集合 */
   countryCapitalMap = make(map[string]string)
   
   /* map 插入 key-value 对,各个国家对应的首都 */
   countryCapitalMap["France"] = "Paris"
   countryCapitalMap["Italy"] = "Rome"
   countryCapitalMap["Japan"] = "Tokyo"
   countryCapitalMap["India"] = "New Delhi"
   
   /* 使用 key 输出 map 值 */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
   
   /* 查看元素在集合中是否存在 */
   captial, ok := countryCapitalMap["United States"]
   /* 如果 ok 是 true, 则存在,否则不存在 */
   if(ok){
      fmt.Println("Capital of United States is", captial)  
   }else {
      fmt.Println("Capital of United States is not present") 
   }
}

Примеры вышеуказанных операционных результатов в следующем порядке:

Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Capital of United States is not present

функция удаления ()

Элементы коллекции удаления () функция используется для удаления параметров карты и соответствующего ключа. Примерами могут служить следующие:

package main

import "fmt"

func main() {   
   /* 创建 map */
   countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo","India":"New Delhi"}
   
   fmt.Println("原始 map")   
   
   /* 打印 map */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
   
   /* 删除元素 */
   delete(countryCapitalMap,"France");
   fmt.Println("Entry for France is deleted")  
   
   fmt.Println("删除元素后 map")   
   
   /* 打印 map */
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
}

Примеры вышеуказанных операционных результатов в следующем порядке:

原始 map
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Entry for France is deleted
删除元素后 map
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi