php中文网

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

php中文网

go 语言中空结构体与空指针的检查

在 go 语言中,检查空结构体和空指针是至关重要的。结构体不能为 nil,而结构体指针可以。

对于空结构体,可以通过检查其字段是否为零值来判断。例如:

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
}

对于空指针,只需检查其值是否为 nil 即可。

示例代码

以下代码提供了检查空结构体和空指针的示例:

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 0 0
指针: <nil>
产品结构体为空。
产品指针为 nil。

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