go 嵌套数组添加结构体函数的实现
在 go 中,想要构造一个能够添加结构体的嵌套数组函数,我们需要考虑一个问题:如何将值传递给嵌套结构体。下面提供一个具体示例:
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 函数并获取返回值 c := oo(id) // 使用指针赋值,将 *cat 类型的 c 赋值给 dog 结构体的 cat 字段 return &dog{ name: name, age: age, cat: c, } } 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) }
登录后复制
在 ll 函数中,我们调用了 oo 函数并获取 cat 类型的值 c,然后使用指针赋值将其赋值给 dog 结构体的 cat 字段。这样,我们成功地将 cat 结构体添加到 dog 结构体中。
运行此程序,输出如下:
&{lal 90 <0xc0000a0000>} lal 90 80
登录后复制
现在,cat 结构体的 id 字段的值为 80,而不是 nil。这是因为我们正确地将 *cat 类型的值 c 赋值给了 dog 结构体的 cat 字段。
以上就是如何在 Go 中向嵌套数组添加结构体?的详细内容,更多请关注php中文网其它相关文章!