go 嵌套数组构造出一个能添加结构的函数?

语言 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

阅读 690
2 个回答

ll返回的是dog,dog默认没有cat写入。你在ll里调用的oo的返回值,根本没有接。改成return &dog {name:name,age:age, cat: oo(id)}看看

oo 你并没有写进结构

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏