mapの値の型を分離して考えると良いでしょう
go
1type Strings []string
2type StrPointers []*string
と置くと、
この質問の課題は
「map[string]Strings から map[string]StrPointersへの変換」
と考えることができ、別途
「StringsからStrPointersへの変換」
ができれば全体を実装できると予想されます。
実際に書いてみた実装:
https://play.golang.org/p/NT4Z1eNB8-z
go
1package main
2
3import (
4 "fmt"
5)
6
7type Strings []string
8type StrPointers []*string
9
10func StringsToStrPointers(s Strings) StrPointers {
11 res := make(StrPointers, 0, len(s))
12 for _, v := range s {
13 value := v
14 res = append(res, &value)
15 }
16 return res
17}
18
19func StringMap(src map[string]Strings) map[string]StrPointers {
20 dst := map[string]StrPointers{}
21 for k, v := range src {
22 dst[k] = StringsToStrPointers(v)
23 }
24 return dst
25}
26
27func main() {
28 s := map[string]Strings{
29 "hoge": Strings{"a", "b", "c"},
30 "Hoge": Strings{"A", "B", "C"},
31 }
32 for k, v := range StringMap(s) {
33 fmt.Printf("%q:", k)
34 for _, p := range v {
35 fmt.Printf("%s ", *p)
36 }
37 }
38}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/05 14:08
2018/11/05 21:43
2018/11/05 21:45
2018/11/07 14:03