¿Cómo imprimir datos de variables de estructura en Golang?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *