pass_map_struct.go raw
1 package main
2
3 type MapStruct struct {
4 M map[string]int32
5 }
6
7 func makeMapStruct() (sv MapStruct) {
8 sv = MapStruct{M: map[string]int32{"x": 42, "y": 99}}
9 return
10 }
11
12 func makeMapStructPtr() (sp *MapStruct) {
13 sp = &MapStruct{M: map[string]int32{"p": 100, "q": 200}}
14 return
15 }
16
17 func main() {
18 sv := makeMapStruct()
19 if sv.M["x"] == 42 && sv.M["y"] == 99 {
20 println("PASS:map-struct-value-return")
21 } else {
22 println("FAIL:map-struct-value-return")
23 }
24
25 sp := makeMapStructPtr()
26 if sp.M["p"] == 100 && sp.M["q"] == 200 {
27 println("PASS:map-struct-ptr-return")
28 } else {
29 println("FAIL:map-struct-ptr-return")
30 }
31 }
32