質問: map[string]int{"key":1}`が適用されて、予想した出力は map[key:1] map[key:1] だったのですが、、ロジックを教えてください。
回答: mainとsetそれぞれに`println(&a)`という行を追加して、aのポインタを見ると別のアドレスになっていることが分かると思います。 すなわちset関数の引数を`a *map[string]int`にして、ポインタを渡すようにすると期待通りに動作します。 setの引数をポインタにした後にset内でのaのアドレスを確認する場合は、`println(a)`とすることに注意してください。