语言 go 写了一个嵌套数组 想要构造出一个能够添加一个结构体的函数
//golang
package main
import (
"fmt"
)
type dog struct {
name string
age int
*cat
}
type cat struct {
id int
}
func ll(name string, age int, id int) *dog {
oo(id)
name = name
age = age
return &dog{
name: name,
age: age,
}
}
func oo(id int) *cat {
return &cat{
id: id,
}
}
func main() {
s9 := ll("lal", 90, 80)
fmt.Println(s9)
fmt.Println(s9.name, s9.age, s9.id)
}
&{lal 90 <nil>}
这是运行的结果 想要知道 nil为什么没变 为什么不是80
ll
返回的是dog
,dog
默认没有cat
写入。你在ll
里调用的oo
的返回值,根本没有接。改成return &dog {name:name,age:age, cat: oo(id)}
看看