Golang 判断结构是否为空

Golang 判断结构是否为空

如果结构为空,表示特定结构体内没有字段。在Golang中,空结构体的大小为零。当用户想要知道创建的结构是否为空时,可以通过一个变量在主函数中访问结构。如果结构体内不存在任何字段,他可以简单地展示这个结构体为空。

语法:

type 结构名称 struct {
}

有多种方法可以判断结构是否为空,如下所示。

1)检查结构是否为空:

package main

import (
    "fmt"
)

type Book struct {
}

func main() {
    var bk Book
    if (Book{} == bk) {
        fmt.Println("这是一个空结构。")
    } else {
        fmt.Println("这不是一个空结构。")
    }
}

输出结果:

这是一个空结构。

解释:在上面的示例中,我们创建了一个名为“Book”的结构,其中没有现有字段。在主函数中,我们创建了一个变量以访问我们的结构。由于结构中未指定任何字段,因此它将打印“这是一个空结构”。现在,如果结构中存在字段,则它将返回以下消息:“这不是一个空结构”,如下所示:

package main

import (
    "fmt"
)

type Book struct {
    qty int
}

func main() {
    var bk Book
    if (Book{500} == bk) {
        fmt.Println("这是一个空结构。")
    } else {
        fmt.Println("这不是一个空结构。")
    }
}

输出结果:

这不是一个空结构。

解释: 在上面的示例中,我们创建了一个名为“Book”的结构,其中声明了一个名为“qty”的int类型字段。在主函数中,我们创建了一个变量以访问我们的结构。由于结构中存在字段,因此它将打印“这不是一个空结构”。

2)使用switch语句:

package main

import (
    "fmt"
)

type articles struct {
}

func main() {
    x := articles{}

    switch {
    case x == articles{}:
        fmt.Println("结构体为空。")
    default:
        fmt.Println("结构体不为空。")
    }
}

输出结果:

结构体为空。

解释: 在此示例中,我们创建了一个名为“articles”的结构,其中没有声明任何字段。在主函数中,我们创建了一个名为“x”的变量,并使用switch语句访问我们的结构。由于结构中不存在任何字段,程序将显示该结构为空。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程