Una estructura o estructura en Golang es un tipo definido por el usuario que permite agrupar/combinar elementos de tipos posiblemente diferentes en un solo tipo. Cualquier entidad del mundo real que tenga algún conjunto de propiedades/campos se puede representar como una estructura. Este concepto generalmente se compara con las clases en la programación orientada a objetos. Se puede denominar como una clase ligera que no admite la herencia pero sí la composición. Hay dos formas de imprimir variables de estructura en la consola de la siguiente manera:
1. Usando la función Printf con las siguientes etiquetas
%v el valor en un formato predeterminado
%+v el indicador más agrega nombres de campo
%#va Representación de sintaxis Go del valor
Ejemplo:
// Golang program to show how to print // the struct variables in console package main // importing package for printing import ( "fmt" ) // taking a struct type emp struct { name string emp_id int salary int } func main() { // an instance of emp (in 'e') e := emp{"GFG", 134, 30000} // printing with variable name fmt.Printf("%+v", e) fmt.Println() // printing without variable name fmt.Printf("%v", e) }
Producción:
{name:GFG emp_id:134 salary:30000} {GFG 134 30000}
2. Imprima usando Marshal de codificación de paquetes/json.
Ejemplo:
// Golang program to show how to print // the struct variables in console package main import ( "encoding/json" "fmt" ) // taking a struct type emp struct { Name string Emp_id string Salary int } func main() { // an instance of emp (in 'e') var e = emp{ Name: "GFG", Emp_id: "123", Salary: 78979854 , } // Marshalling the structure // For now ignoring error // but you should handle // the error in above function jsonF, _ := json.Marshal(e) // typecasting byte array to string fmt.Println(string(jsonF)) }
Producción:
{"Name":"GFG","Emp_id":"123","Salary":78979854}