当前位置: 首页 > news >正文

go的结构体作为返回值

结构体有两种方式作为返回值

  • 结构体
  • 结构体指针

代码

package mainimport ("fmt"
)type SS struct {Name stringAge  int
}func getInfo() (*SS) {var ac = SS{}ac.Age = 1return &ac
}func getInfo1() (aa *SS) {aa.Age = 1return
}func getInfo2() (SS) {var ac = SS{}ac.Age = 1return ac
}func main() {//var dd *SS//var dd = &SS{}var dc = &SS{}dc = getInfo()fmt.Println(dc.Age)var df = SS{}df = getInfo2()fmt.Println(df.Age)var dd = &SS{}dd = getInfo1()fmt.Println(dd.Age)
}

结果:

1
1
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x47ae8f]goroutine 1 [running]:
main.getInfo1(...)/home/zhaoky/Desktop/kaiyue/aa/f.go:19
main.main()/home/zhaoky/Desktop/kaiyue/aa/f.go:41 +0xaf

分析
1、getinfo() 结构体指针 需要在返回的结构体在函数外有实体
2、getinfo1() 结构体指针 即使在函数外有实体也会报错崩溃,是因为此时给返回的结构体指针声明了一个结构体指针,但这个结构体指针没有实体,在赋值时会报错
3、getinfo2() 结构体作为返回值 外层可以有实体也可以没有

相关文章:

go的结构体作为返回值

结构体有两种方式作为返回值 结构体结构体指针 代码 package mainimport ("fmt" )type SS struct {Name stringAge int }func getInfo() (*SS) {var ac SS{}ac.Age 1return &ac }func getInfo1() (aa *SS) {aa.Age 1return }func getInfo2() (SS) {var ac…...

uniapp的subnvue苹果适配(ios)谷歌地图问题

谷歌地图,google地图,调整宽度。这个适配花了点时间,苹果IOS宽度一直无效失灵,赶紧记录分享,很坑。可能所有的ios的subnvue适配都这样。看了网上很多方法无效,最终找到试出答案。 pages.json的配置宽度无效…...

项目实战之RabbitMQ重试机制进行消息补偿通知

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 文章目录 🌟架构图&#x…...

MySQL之数据库的创建指令

创建数据库 #创建数据库指令: CREATE DATABASE hsp_db1 #创建名字为关键字的数据库,为规避关键字,可以使用反引号 CREATE DATABASE CREATE#删除数据库指令: DROP DATABASE hsp_db1 DROP DATABASE CREATE如果不指定在这里插入代码片…...

[网络安全]批处理(脚本)编写

Windows DOS命令Linux 一.作用: 自上而下成批次处理每一条命令,直到执行到最后一条 二.如何创建批处理: 扩展名:.bat创建办法:新建一个记事本,把扩展名改为 .bat 三.编辑方法: 右击 -编辑 1).一行一个命令 四.批处理命令: pause 暂停 (及时后面有命令,也不执行)echo …...

事件驱动架构 vs. RESTful架构:通信模式对比与选择

1. 通信风格 事件驱动架构(EDA) 是一种异步通信风格,组件之间通过产生和消费事件进行通信。 事件是表示系统中重大变化或事件的消息,并分发给感兴趣的组件。这种通信模型允许系统的不同部分之间进行解耦和动态交互。 组件充当事件…...

代码随想录算法训练营第五十二天| 300 最长递增子序列 674 最长连续递增子序列 718 最长重复子数组

目录 300 最长递增子序列 674 最长连续递增子序列 718 最长重复子数组 300 最长递增子序列 class Solution { public:int lengthOfLIS(vector<int>& nums) {vector<int>dp(nums.size(),1);//以i结尾的最长递增子序列的长度for(int i 0;i < nums.size()…...

leetcode 101.对称二叉树

学习这部分还是要多画图&#xff0c;多思考 101.对称二叉树 题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 文字 和 画图 分析 明确结束条件和继续递归条件 判断是否对称…...

【本人新书】《OpenCV应用开发:入门、进阶与工程化实践》

写作初心 OpenCV作为开源的计算机视觉框架已经有超过20年的发展历程&#xff0c;OpenCV4是OpenCV目前为止最重要的里程碑版本。OpenCV4不仅包含了传统图像处理、图像分析、特征提取等模块的各种主流算法算子&#xff0c;还包含了深度学习模型部署与加速支持模块&#xff0c;兼…...

【Linux系统编程】进度条的编写

目录 一&#xff0c;进度条的必备知识 1&#xff0c;缓冲区的粗略介绍 2&#xff0c;回车与换行 二&#xff0c;进度条的初步制作 1&#xff0c;进度条的初步矿建 2&#xff0c;进度条的版本一 3&#xff0c;进度条的版本二 一&#xff0c;进度条的必备知识 1&#xff…...

互斥锁的原理

互斥锁&#xff08;Mutex&#xff0c;全称Mutual Exclusion&#xff09;是一种同步机制&#xff0c;用于确保在任意时刻&#xff0c;只有一个线程可以访问共享资源&#xff0c;从而防止数据竞争和不一致性。互斥锁的基本思想是在进入临界区之前&#xff0c;先获取锁&#xff1b…...

Win10的SVN Adapter V1.0 中黄色感叹号 -- 解决

大部分都问题都可以通过&#xff1a; 关闭 SVN Adapter V1.0 在下载最新的 SVNDrv.sys替换 C:\Windows\System32\drivers 中的同名文件启动 SVN Adapter V1.0 就能成功 但是部分人的电脑 SVN Adapter V1.0 是有感叹号的&#xff0c;说明注册表有问题 先用 CCleaner 修复注册表…...

ubuntu20 安装docker

一.官网安装文档 &#xff08;基本按官方文档安装&#xff09; Install Docker Engine on Ubuntu | Docker Docs 二.安装步骤 1.docker 需要64位操作系统、linux内核要在3.1以上 #uname -r 2.卸载可能存在的旧版本 #sudo apt-get remove docker docker-engine docker-ce …...

HarmonyOS开发工具DevEco Studio的下载和安装

一、DevEco Studio概述 一、下载安装鸿蒙应用开发工具DevEco Studio 开发鸿蒙应用可以从鸿蒙系统上运行第一个程序Hello World开始。 为了得到这个Hello World&#xff0c;你需要得到这个Hello World的源代码&#xff0c;源代码是用人比较容易看得懂的计算机编程语言规范写的…...

SHELL21 格式化输出

awk BEGIN{FS""}{for(i1;i<NF;i){if((NF-i)%30&&i!NF) printf $i",";else printf $i};printf "\n"} nowcoder.txt这个 AWK 命令的目的是对文本文件 nowcoder.txt 中的每一行进行处理&#xff0c;将每三个字符插入一个逗号&#xff0c…...

披荆斩棘的「矿区无人驾驶」,能否真正打开千亿级市场?

随着2022年备受瞩目的台泥句容矿无人驾驶运输项目硬核落地&#xff0c;以及相关科技公司开放该矿24小时无人矿卡生产运营直播以证明其项目并非在演示&#xff0c;2023年全国开启了大规模矿区无人驾驶商业化落地&#xff0c;堪称矿区无人驾驶元年。虽然我国矿区无人驾驶市场渗透…...

智能优化算法应用:基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于灰狼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.灰狼算法4.实验参数设定5.算法结果6.参考文献7.MA…...

论文阅读三——端到端的帧到凝视估计

论文阅读三——端到端的帧到凝视估计 主要内容研究问题文章的解题思路文章的主要结构 论文实验关于端到端凝视估计的数据集3种基线模型与EFE模型的对比在三个数据集中与SOTA进行比较 问题分析重要架构U-Net 基础知识 主要内容 文章从端到端的方法出发&#xff0c;提出了根据he…...

mysql 快捷登陆

要将 MySQL 的登录命令添加到环境变量中并为其创建别名&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 打开终端并编辑 /etc/profile 文件&#xff08;使用所有用户的全局设置&#xff09; vim /etc/profile 2. 在文件的末尾添加以下行来设置环境变量和别名 # 将 &q…...

理解排序算法:冒泡排序、选择排序与归并排序

简介&#xff1a; 在计算机科学中&#xff0c;排序算法是基础且重要的概念。本文将介绍三种常见的排序方法&#xff1a;冒泡排序、选择排序和归并排序。我们将探讨它们的工作原理、特点和适用场景&#xff0c;以帮助读者更好地理解和选择合适的排序方法。 冒泡排序 冒泡排序是…...

System-Controller完整能力手册

System Controller 完整能力手册基于你电脑的实际硬件&#xff08;小米笔记本 i5-6200U / 8GB / 940MX / 1080p&#xff09;和 System Controller 技能的全部能力边界。一、能力总览 用户自然语言指令↓ ┌─────────────────────────────────…...

STM32+LWIP实战:ETH外设配置避坑指南(基于HAL库)

STM32LWIP实战&#xff1a;ETH外设配置避坑指南&#xff08;基于HAL库&#xff09; 第一次在STM32上移植LWIP协议栈时&#xff0c;我盯着PHY芯片的Link灯整整三天没亮。直到发现CubeMX生成的代码里漏了一个关键寄存器配置——这个教训让我意识到&#xff0c;ETH外设的配置远不是…...

AI辅助开发:看快马AI如何像“走马观碑”一样快速解析需求并生成项目

AI辅助开发&#xff1a;看快马AI如何像"走马观碑"一样快速解析需求并生成项目 最近在InsCode(快马)平台体验了一把AI辅助开发的完整流程&#xff0c;感觉就像亲眼见证了"走马观碑"这个成语在现代技术中的生动演绎。传统意义上的走马观碑形容人记忆力超群、…...

如何实现跨平台一致性:hello-uniapp处理平台差异的完整策略指南

如何实现跨平台一致性&#xff1a;hello-uniapp处理平台差异的完整策略指南 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp hello-uniapp作为uni-app框架的官方演示项目&#xff0c;展示了如何通过一套代…...

灵毓秀-牧神-造相Z-Turbo创作实战:如何生成不同风格的灵毓秀图片

灵毓秀-牧神-造相Z-Turbo创作实战&#xff1a;如何生成不同风格的灵毓秀图片 1. 认识灵毓秀-牧神-造相Z-Turbo 灵毓秀-牧神-造相Z-Turbo是一款专注于生成《牧神记》中灵毓秀角色的AI图像生成模型。它基于Xinference框架部署&#xff0c;通过简单的Web界面即可快速生成各种风格…...

2026年海南公司注册与合规服务行业评估报告

行业背景与评估维度2026年&#xff0c;随着海南自贸港全岛封关运作的正式实施&#xff0c;“零关税、低税率、简税制”的政策红利全面释放&#xff0c;海南已成为企业布局跨境业务与享受税收优惠的战略高地。然而&#xff0c;政策环境的快速迭代也带来了显著的痛点&#xff1a;…...

JSXBIN反编译工具:面向创意开发者的ExtendScript源代码恢复方案

JSXBIN反编译工具&#xff1a;面向创意开发者的ExtendScript源代码恢复方案 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 核心价值解析&#xff1a;为何选择Jsxer 在Adobe创意软件生态中&#x…...

3个步骤掌握macOS自动点击器:彻底告别重复鼠标操作的完整方案

3个步骤掌握macOS自动点击器&#xff1a;彻底告别重复鼠标操作的完整方案 【免费下载链接】macos-auto-clicker A simple auto clicker for macOS Big Sur, Monterey, Ventura, Sonoma and Sequoia. 项目地址: https://gitcode.com/gh_mirrors/ma/macos-auto-clicker 你…...

从TCP BBR到网卡中断绑定:给K8s节点和游戏服务器做一次网络延迟‘大保健’

从TCP BBR到网卡中断绑定&#xff1a;给K8s节点和游戏服务器做一次网络延迟‘大保健’ 在云原生和高性能计算领域&#xff0c;网络延迟的毫秒级波动可能引发连锁反应——Kubernetes集群中某个Pod的响应延迟会导致整个微服务链路雪崩&#xff0c;而游戏服务器上50ms的卡顿足以让…...

基于STM32LXXX的数字电位器(MCP41010T-I/SN)驱动应用程序设计

一、简介&#xff1a;MCP41010T-I/SN 是 Microchip 公司推出的一款单通道、8位数字电位器&#xff0c;采用 SPI 串行接口进行通信。该器件将传统的机械电位器功能数字化&#xff0c;通过简单的数字指令精确调节电阻值&#xff0c;特别适用于需要软件控制电路参数的嵌入式系统。…...