0

0

在 Go 中,如何向嵌套结构体数组添加结构体?

霞舞

霞舞

发布时间:2024-11-14 20:08:33

|

286人浏览过

|

来源于php中文网

原创

在 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(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)
}

但是,运行代码后,发现结构体的 cat 字段显示为 nil,而不是预期的 80。这是为什么

答案是,ll 函数返回的是 *dog,而 dog 结构体默认没有初始化 cat 字段。在 ll 函数中,你调用了 oo 函数来创建 cat 结构体,但它的返回值并没有被赋给 dog 结构体的 cat 字段。

W78CMS企业网站管理系统 (中英繁三语版)1.0 build 100724
W78CMS企业网站管理系统 (中英繁三语版)1.0 build 100724

程序采用ASP+ACCESS开发完成。中英繁三语言,所有页面采用UTF-8全球通用编码,兼容简体中文、繁体中文及英语,适用于中小企业网站运用。后台数据同时录入中文及英文,繁体采用JS自动转换,无需维护。免费版主要功能如下:·系统管理:系统综合设置、管理员管理、数据库备份、上传文件管理。·单页管理:自由无限制添加个性页面,如:公司简介、组织结构、联系我们等

下载

正确的代码应该是:

func ll(name string, age int, id int) *dog {
    oo(id)
    name = name
    age = age
    return &dog{
        name: name,
        age:  age,
        cat:  oo(id), // 这里赋值了 cat 字段
    }
}

修改后的代码将返回一个包含 cat 字段的 dog 结构体,其中 id 字段被正确初始化为 80。

相关专题

更多
golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

194

2025.06.09

golang结构体方法
golang结构体方法

本专题整合了golang结构体相关内容,请阅读专题下面的文章了解更多。

186

2025.07.04

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

26

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

24

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

72

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

10

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

52

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

179

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号