zoukankan      html  css  js  c++  java
  • golang结构体判断是否为空

    前言

    使用任何编程语言都会遇到判空的问题,那么Golang对于自定义的结构体类型如何判空呢?

    其实空结构体可不是简单的与nil做比较哦。请看下面两种方法:

    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")
    	}
    }
    
  • 相关阅读:
    Scala-函数
    Scala--循环
    scala(一)
    拦截器filter
    Ajax实现分页二
    并发1
    泛型
    协议protocol
    结构体structure
    类的继承
  • 原文地址:https://www.cnblogs.com/niuben/p/14631121.html
Copyright © 2011-2022 走看看