Как назначить срез хеш-карте - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь создать карту ha sh, содержащую такие ключи, как «корова», «птица» и т. Д. c. и каждому ключу я хочу назначить срез.

Я не могу понять, как я должен go об этом, и даже если я создал его, как добавить к такому срезу.

Ответы [ 2 ]

0 голосов
/ 19 июня 2020
package main

import (
    "fmt"
)

func main() {
    slice1 := []string{"a", "b", "c"}
    slice2 := []string{"d", "e", "f"}
    mp := make(map[string]*[]string, 0) // Initialize map
    mp["slice1"] = &slice1
    mp["slice2"] = &slice2
    for k, v := range mp {
        // k is key, v is value
        fmt.Println(k, *v)
    }
}
0 голосов
/ 19 июня 2020

Думаю, вы ищете что-то вроде этого

    animalMap := make(map[string][]string, 0)

    animalMap["cow"] = []string{"Alice", "Bob"}
    animalMap["bird"] = []string{"Tweety", "Sam"}

    fmt.Printf("%v\n", animalMap)

    // Appending value to existing slice for "cow"
    animalMap["cow"] = append(animalMap["cow"], "Chris")

    // Appending value to existing slice for "bird"
    animalMap["bird"] = append(animalMap["bird"], "Tom")

    fmt.Printf("%v\n", animalMap)

Вот живой пример: https://play.golang.org/p/YXS-IlWUPfi

...