Menu
Coddy logo textTech

Inicialización de Structs

Parte de la sección Fundamentos del Journey de GO de Coddy — lección 98 de 109.

Hay múltiples formas de inicializar structs en Go. Exploremos los métodos más comunes.

Crea una estructura con nombres de campos:

type Person struct {
    name string
    age  int
}

func main() {
    // Initialize with field names
    person1 := Person{name: "Alice", age: 30}
    fmt.Println(person1)
}

La salida muestra nuestra estructura inicializada:

{Alice 30}

También puedes inicializar una estructura sin los nombres de los campos, pero debes proporcionar los valores en orden:

person2 := Person{"Bob", 25}
fmt.Println(person2)

Resultado:

{Bob 25}

Crea un struct vacío con valores cero:

person3 := Person{}
fmt.Println(person3)

Resultado:

{  0}
challenge icon

Desafío

Principiante

En este desafío, practicarás la inicialización de un struct en Go. Hemos definido un struct Person con campos para el nombre, la edad y si la persona está empleada.

Tu tarea es inicializar una nueva instancia del struct Person con la siguiente información:

  • Name: "Alice"
  • Age: 28
  • IsEmployed: true

Luego, imprimiremos la información sobre esta persona.

Hoja de referencia

Hay múltiples formas de inicializar structs en Go:

Inicializar con nombres de campos:

person1 := Person{name: "Alice", age: 30}

Inicializar sin nombres de campos (los valores deben estar en orden):

person2 := Person{"Bob", 25}

Crear un struct vacío con valores cero:

person3 := Person{}

Pruébalo tú mismo

package main

import "fmt"

// Definición de la estructura Person
type Person struct {
	Name       string
	Age        int
	IsEmployed bool
}

func main() {
	// TODO: Inicializar una estructura Person con nombre "Alice", edad 28, e isEmployed true
	// Usar ya sea los nombres de los campos o la sintaxis de literal de estructura
	var alice Person
	
	// Imprimir la información de la persona
	fmt.Printf("Name: %s\n", alice.Name)
	fmt.Printf("Age: %d\n", alice.Age)
	fmt.Printf("Employed: %t\n", alice.IsEmployed)
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos