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

作者站长头像
站长
· 阅读数 9

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

回复
1个回答
avatar
test
2024-06-24

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

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容