@johnpaul.blick
Мапы в Golang - это структуры данных, которые используются для хранения ключей и их соответствующих значениях. Ключи и значения могут быть любого типа данных, но ключи должны быть сравнимыми оператором == или !=.
Чтобы создать мапу в Golang, используйте следующий синтаксис:
1
|
mapName := make(map[keyType]valueType) |
Где mapName - название вашей мапы, keyType - тип данных ключа и valueType - тип данных значения. Например:
1
|
myMap := make(map[string]int) |
Это создаст пустую мапу с ключами строками и значениями целочисленными.
Чтобы добавить элемент в мапу, используйте следующий синтаксис:
1
|
mapName[key] = value |
Например:
1
|
myMap["one"] = 1 |
Чтобы получить значение по ключу, используйте следующий синтаксис:
1
|
value := mapName[key] |
Например:
1
|
oneValue := myMap["one"] |
Вы также можете проверить, существует ли ключ в мапе, используя следующий синтаксис:
1
|
value, ok := mapName[key] |
value будет содержать значение, связанное с ключом, если ключ существует, а ok будет равно true. Если ключ не существует, value будет равно значению по умолчанию для типа значения, а ok будет равно false.
Например:
1 2 3 4 5 6 |
oneValue, ok := myMap["one"]
if ok {
fmt.Println("The value of 'one' is", oneValue)
} else {
fmt.Println("'one' is not in the map")
}
|
Мапы также могут использоваться в цикле for range для итерации по всем элементам мапы:
1 2 3 |
for key, value := range mapName {
// do something with key and value
}
|
Например:
1 2 3 4 |
for word, count := range wordCounts {
fmt.Printf("%s occurs %d times
", word, count)
}
|