Golang 结构体判空

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")
    }
}

版权声明:本文为jinjianghai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。