Acceso a campos de Structs
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 96 de 109.
Para acceder a los campos de un struct, utiliza la notación de punto (structVariable.fieldName).
Crea una estructura Person y accede a sus campos:
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 30}
// Acceder a campos individuales
fmt.Println(person.name)
fmt.Println(person.age)
}La salida muestra los valores de los campos individuales:
Alice
30También puedes modificar los valores de los campos utilizando la misma notación de puntos:
person.age = 31
fmt.Println(person.age) // Prints: 31Desafío
FácilEn este desafío, practicarás el acceso a los campos de un struct. Hemos definido un struct Person con los campos name, age e isStudent.
Tu tarea es acceder a estos campos e imprimirlos utilizando los verbos de formato correctos.
Hoja de referencia
Para acceder a los campos de un struct, utiliza la notación de punto (structVariable.fieldName):
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 30}
// Acceder a campos individuales
fmt.Println(person.name)
fmt.Println(person.age)
}También puedes modificar los valores de los campos utilizando la notación de punto:
person.age = 31
fmt.Println(person.age) // Imprime: 31Pruébalo tú mismo
package main
import "fmt"
func main() {
// Estructura Person con tres campos
type Person struct {
name string
age int
isStudent bool
}
// Una persona de ejemplo
john := Person{
name: "John Doe",
age: 25,
isStudent: true,
}
// TODO: Imprimir el nombre de john usando fmt.Printf y el verbo de formato %s
fmt.Printf("Name: %s\n", ?)
// TODO: Imprimir la edad de john usando fmt.Printf y el verbo de formato %d
fmt.Printf("Age: %d\n", ?)
// TODO: Imprimir si john es estudiante usando fmt.Printf y el verbo de formato %t
fmt.Printf("Is student: %t\n", ?)
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones10Tipos compuestos: Arrays
Introducción a los ArraysDeclaración de ArraysInicialización de ArraysAcceso a elementos de un ArrayLongitud del Array con `len`Iterar sobre ArraysArrays multidimensionales13Tipos compuestos: Structs
Definición de tipos personalizadosCreación de instancias de StructsAcceso a campos de StructsPunteros a StructsInicialización de StructsStructs embebidosStructs anónimosResumen - Estructuras de datos personalizadas2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones