Una estructura (Estructura) es un tipo definido por el usuario en Golang que contiene una colección de campos/propiedades con nombre que crea tipos de datos propios al combinar uno o más tipos. Además, este concepto generalmente se compara con las clases en la programación orientada a objetos. Una estructura tiene diferentes campos del mismo o diferente tipo de datos y se declara al componer un conjunto fijo de campos únicos.
Sintaxis:
type StructName struct { field1 fieldType1 field2 fieldType2 }
variables de estructura:
variable_name := structure_variable_type {value1, value2...valuen}
Hay dos formas de imprimir variables de estructura en Golang. La primera forma es usar la función Printf del paquete fmt con etiquetas especiales en los argumentos del formato de impresión. Algunos de esos argumentos son los siguientes:
%v the value in a default format %+v the plus flag adds field names %#v a Go-syntax representation of the value
Ejemplo 1:
// Go program to print struct variables data package main import ( "fmt" ) // Creating a structure type Employee struct { Name string Age int Salary int } // Main function func main() { // Creating variables // of Employee structure var e Employee e.Name = "Simran" e.Age = 23 e.Salary = 30000 // Print variable name, value and type fmt.Printf("%s\n", e.Name) fmt.Printf("%d\n", e.Age) fmt.Printf("%d\n", e.Salary) fmt.Printf("%#v\n", e) }
Producción:
Simran 23 30000 main.Employee{Name:"Simran", Age:23, Salary:30000}
Ejemplo 2:
// Go program to print struct variables data package main import "fmt" type Mobiles struct { company string price int mobile_id int } func main() { // Declare Mobile1 of type Mobile var Mobile1 Mobiles // Declare Mobile2 of type Mobile var Mobile2 Mobiles // Mobile 1 specification Mobile1.company = "Vivo" Mobile1.price = 20000 Mobile1.mobile_id = 1695206 // Mobile 2 specification Mobile2.company = "Motorola" Mobile2.price = 25000 Mobile2.mobile_id = 2625215 // print Mobile1 info fmt.Printf("Mobile 1 company : %s\n", Mobile1.company) fmt.Printf("Mobile 1 price : %d\n", Mobile1.price) fmt.Printf("Mobile 1 mobile_id : %d\n", Mobile1.mobile_id) // print Mobile2 info fmt.Printf("Mobile 2 company : %s\n", Mobile2.company) fmt.Printf("Mobile 2 price : %d\n", Mobile2.price) fmt.Printf("Mobile 2 mobile_id : %d\n", Mobile2.mobile_id) }
Producción:
Mobile 1 company : Vivo Mobile 1 price : 20000 Mobile 1 mobile_id : 1695206 Mobile 2 company : Motorola Mobile 2 price : 25000 Mobile 2 mobile_id : 2625215
Para saber sobre esto, puede consultar este artículo.
Publicación traducida automáticamente
Artículo escrito por shivanisinghss2110 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA