Imprimiendo variables de estructura en consola en Golang

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}

Publicación traducida automáticamente

Artículo escrito por nikki2398 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 *