0

0

Go 中如何判断结构体和结构体指针是否为空?

心靈之曲

心靈之曲

发布时间:2024-11-13 16:45:13

|

1197人浏览过

|

来源于php中文网

原创

go 中如何判断结构体和结构体指针是否为空?

go 中的空结构体和空指针检查

在 go 语言中,不同于结构体,结构体指针可以为 nil。当声明结构体变量时,其字段自动初始化为零值。因此,要判断结构体是否为空,可逐个检查其字段是否为零值。对于结构体指针,则直接检查其是否为 nil 即可。

以下代码示例展示了如何检查空结构体和空指针:

陌言AI
陌言AI

陌言AI是一个一站式AI创作平台,支持在线AI写作,AI对话,AI绘画等功能

下载
import "fmt"

type product struct {
    name, category string
    price          float64
    upc            int64
}

func isproductempty(prd product) bool {
    return prd.name == "" && prd.category == "" && prd.price == 0 && prd.upc == 0
}

func main() {

    var prd product
    var prdptr *product

    fmt.println("值:", prd.name, prd.category, prd.price)
    fmt.println("指针:", prdptr)

    // 检查结构体是否为空
    if isproductempty(prd) {
        fmt.println("产品结构为空。")
    } else {
        fmt.println("产品结构不为空。")
    }

    // 检查结构体指针是否为空
    if prdptr == nil {
        fmt.println("产品指针为 nil。")
    } else {
        fmt.println("产品指针不为 nil。")
    }
}

输出结果:

值:    0
指针:  
产品结构为空。
产品指针为 nil。

相关专题

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

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

197

2025.06.09

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

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

190

2025.07.04

空指针异常处理
空指针异常处理

本专题整合了空指针异常解决方法,阅读专题下面的文章了解更多详细内容。

22

2025.11.16

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

0

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

12

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

4

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

16

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.21

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
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号