Checking if structure is empty or not in Golang
If the structure is empty means that there is no field present inside that particular structure. In Golang, the size of an empty structure is zero. Whenever the user wants to know if the created structure is empty or not, he can access the structure in the main function through a variable. If there doesn’t exist any field inside the structure, he can simply display that the structure is empty.
Syntax:
type structure_name struct { }
There are different ways to find out whether a structure is empty or not as shown below.
1) To check if the structure is empty:
package main import ( "fmt" ) type Book struct { } func main() { var bk Book if (Book{} == bk) { fmt.Println( "It is an empty structure." ) } else { fmt.Println( "It is not an empty structure." ) } } |
Output:
It is an empty structure.
Explanation: In the above example, we have created a structure named “Book” in which there is no existing field. In the main function, we created a variable to access our structure. Since there are no fields specified in the structure, it will print that it is an empty structure. Now, if there are fields present in the structure, it will return the message that it is not an empty structure as shown below:
package main import ( "fmt" ) type Book struct { qty int } func main() { var bk Book if (Book{500} == bk) { fmt.Println( "It is an empty structure." ) } else { fmt.Println( "It is not an empty structure." ) } } |
Output:
It is not an empty structure.
Explanation: In the above example, we have created a structure named “Book” in which we have declared a field named “qty” of data type int. In the main function, we created a variable to access our structure. Since there is a field present in the structure, it will print that it is not an empty structure.
2) Using switch case:
package main import ( "fmt" ) type articles struct { } func main() { x := articles{} switch { case x == articles{}: fmt.Println( "Structure is empty." ) default : fmt.Println( "Structure is not empty." ) } } |
Output:
Structure is empty.
Explanation: In this example, we created a structure named “articles” in which no fields are declared. Inside the main function, we created a variable “x” and used a switch case to access our structure. Since there are no fields present in the structure, the program will display that the structure is empty.