dereference的优先级
*
的优先级是低于属性.
的优先级的
*地址
= object
举例:defs.go
package defs
type Matter struct {
Question string
Answers []string
}
type Matters []Matter
parse.go
func getObject(c string) *defs.Matters {
matters := &defs.Matters{}
ms := strings.Split(c, "\n\n")
for _, m := range ms {
matter := &defs.Matter{}
mt := strings.Split(m, "\n")
(*matter).Question = mt[0] //等价于matter.Question = mt[0],但是*matter.Question = mt[0]就会报错
(*matter).Answers = append((*matter).Answers, mt[1:]...) //slice... []展开符 = string
*matters = append(*matters, *matter)
}
return matters
}