Salida con formato
Parte de la sección Fundamentos del Journey de GO de Coddy. Lección 29 de 109.
Aprendamos a dar formato a nuestra salida en Go usando la función fmt.Printf(). Esta función nos permite mostrar valores en formatos específicos usando marcadores de posición.
Primero, creemos un programa que dé formato a distintos tipos de datos mediante marcadores de posición:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Después de ejecutar este código, el texto "Name: Gopher, Age: 5, Height: 1.5" aparecerá en la pantalla. Los marcadores de posición de nuestra cadena se reemplazan por los valores reales de nuestras variables.
Entendamos qué hace cada marcador de posición:
// %s se sustituye por un valor de cadena (name)
// %d se sustituye por un valor entero (age)
// %.1f se sustituye por un valor de punto flotante con 1 decimal (height)
// %t se sustituye por un valor booleano (true o false)
// %c se sustituye por un solo carácter (una runa como 'A')El \n al final de una cadena de formato es un carácter de escape que mueve el cursor a una nueva línea, igual que al pulsar Intro. Debe aparecer dentro de las comillas, sin espacios antes de la comilla de cierre; de lo contrario, aparecerán espacios adicionales en la salida.
La función fmt.Printf() reemplaza cada marcador de posición por la variable correspondiente que proporcionamos después de la cadena de formato. El orden de las variables debe coincidir con el orden de los marcadores de posición.
Ahora probemos otro ejemplo con distintos tipos de formato:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)Después de ejecutar este código, el texto "Pi: 3.14, Percentage: 75.0%, Letter: A" aparecerá en la pantalla. Observa cómo %.2f muestra solo 2 decimales para pi, y multiplicamos el porcentaje por 100 para mostrarlo como un valor porcentual.
Observa también el %% en la cadena de formato. Esta es una secuencia de escape especial que imprime un signo % literal. Un solo % se trataría como el inicio de un marcador de posición, así que usamos %% siempre que queremos mostrar un símbolo de porcentaje real en la salida.
Desafío
FácilEn este desafío, practicarás el uso de la salida formateada en Go con la función `fmt.Printf()`.
Tienes información sobre un producto que debe mostrarse en un formato específico usando verbos de formato. Las variables ya están definidas.
Tu tarea es usar `fmt.Printf()` con los verbos de formato adecuados para mostrar la información del producto:
- Usa `%s` para cadenas
- Usa `%d` para números enteros
- Usa `%.2f` para números de punto flotante con 2 decimales
- Usa `%t` para valores booleanos
Muestra la información del producto exactamente como aparece en el resultado esperado.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Información del producto
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: Usa fmt.Printf() con especificadores de formato para mostrar la información del producto:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// Consejo: Usa %s para cadenas, %d para enteros, %.2f para números de punto flotante y %t para booleanos
// Recuerda añadir \n al final de cada línea para que el formato sea correcto
}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 acciones2Variables 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 decisionesPractica por tu cuenta: Compilador de Go online