package main

import "fmt"

type Hoge struct {
    Name string
}

type HogeMap map[string]*Hoge

func hoge() (h HogeMap) {
    h["aaa"] = &Hoge{
        Name: "aaa",
    }
    return
}

func main(){
    fmt.Printf("%v", hoge())
}
panic: assignment to entry in nil map

goroutine 1 [running]:
main.hoge(...)
	/workspace/Main.go:12
main.main()
	/workspace/Main.go:19 +0x74

😡

名前付き変数はポインタを初期化しない。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

package main

import "fmt"

type Hoge struct {
    Name string
}

type HogeMap map[string]*Hoge

func hoge() HogeMap {
    h := HogeMap{}

    h["aaa"] = &Hoge{
        Name: "aaa",
    }

    return h
}

func main(){
    fmt.Printf("%v", hoge())
}

var hoge HogeMap でも一緒