go 判断结构体是否为空

Wesley13
• 阅读 1275
package main

import (
    "fmt"
    "reflect"
)


type A struct{
    name string
    age int
}


func (a A) IsEmpty() bool {
    return reflect.DeepEqual(a, A{})
}


func main() {
    var a A
    if a == (A{}) {  // 括号不能去
        fmt.Println("a == A{} empty")
    }

    if a.IsEmpty() {
        fmt.Println("reflect deep is empty")
    }
}
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Andy20 Andy20
3年前
Golang中常用的字符串操作
Golang中常用的字符串操作一、标准库相关的Packagegoimport("strings")二、常用字符串操作1.判断是否为空字符串1.1使用“”进行判断思路:直接判断是否等于""空字符串,由于Golang中字符串不能为nil,且为值类型,所以直接与空字符串比较即可。举例:go
易娃 易娃
3年前
Golang简单写文件操作的四种方法
packagemainimport("bufio"//缓存IO"fmt""io""io/ioutil"//io工具包"os")funccheck(eerror){ifenil{panic(e)}}/判断文件是否存在存在返回true不存在返回false/func
Stella981 Stella981
3年前
Go生成json、解析json和多维json数组解析
go生成和解析json结构是按结构体模式解析的,所以结构体类型一定要多练习熟悉。完整代码(可以运行)://buildignorepackagemainimport("encoding/json""fmt")typePersonstruct
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
Go语言中通过结构体匿名字段实现方法的继承和重载
Go语言中的结构体可以定义匿名字段。Go语言中没有对象,但是结构体却有大量对象的功能。并且用匿名字段的确可以实现对象的继承和重载。packagemain import "fmt"  typeA struct{     x int }  typeA1 struct{
Stella981 Stella981
3年前
Go使用Gob存储数据
Go使用Gob存储数据使用Gob可以非常方便的存储数据以及传输数据.先来个例子.直接使用官方的.序列化一个结构体.packagemainimport(    "bytes"    "encoding/gob"    "fmt"    "log")typePstruct{
Stella981 Stella981
3年前
Go 语言 bytes.FieldsFunc 函数的使用
packagemainimport("bytes""fmt""reflect""strings")funcmain(){sentence:byte("TheGolanguagehasbuiltinfac
Wesley13 Wesley13
3年前
Java常用工具类
\集合操作工具类:1.判断是否为空:isEmpty()2.判断是否非空:isNotEmpty()代码:importorg.apache.commons.collections.CollectionUtils;importjava.util.Collection;publicclassCollectionUtil{/\\\判