
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。










