Go 语言中如何判断空结构体和空指针?

go 语言中如何判断空结构体和空指针?

如何判断 go 语言中空结构体和空指针

go 语言中,结构体的字段在声明时会初始化为零值,因此结构体本身不能为 nil。但是,结构体的指针可以为 nil,表示指向一个不存在的结构体。

空结构体

要判断一个结构体是否为空,需要检查其所有字段是否为零值。具体实现方法如下:

import "fmt"

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

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

func main() {
    var prd product

    // 检查结构体是否为空
    if isemptyproduct(prd) {
        fmt.println("the product struct is empty.")
    } else {
        fmt.println("the product struct is not empty.")
    }
}

空指针

检查结构体指针是否为空的方法较为简单,只需要判断指针变量是否为 nil 即可:

func main() {
    var prdPtr *Product

    // 检查结构体指针是否为空
    if prdPtr == nil {
        fmt.Println("The product pointer is nil.")
    } else {
        fmt.Println("The product pointer is not nil.")
    }
}

以上就是Go 语言中如何判断空结构体和空指针?的详细内容,更多请关注硕下网其它相关文章!