go语言中双层映射问题

package main

import (
"fmt"
)

type strs struct {
ss []string
}

func main() {

var mm [2]strs
mm[0].ss = append(mm[0].ss, "james")
mm[1].ss = append(mm[1].ss, "james")

fmt.Println(mm[0].ss)
fmt.Println(mm[1].ss)

var pp map[string][2]strs

//为什么这两句话编译就有问题,说不能赋值?
//pp["james"][0].ss = append(pp["james"][0].ss, "jsdaf")
//pp["james"][1].ss = append(pp["james"][1].ss, "jsdaf")

fmt.Println(pp["james"][0].ss)
fmt.Println(pp["james"][1].ss)

}

把pp换成ss看看。pp并没有被初始化。里面没有james

你的pp是map,key需要先-初始化