CodeGym /Cursos /Go SELF /Salida en pantalla en Go: fmt.Println y fmt.Print

Salida en pantalla en Go: fmt.Println y fmt.Print

Go SELF
Nivel 1, Lección 2
Disponible

1. Introduccion al comando fmt.Println

Acabas de escribir tu primer programa en Go y has mostrado en pantalla tu primer mensaje. Enhorabuena por ello. No nos detengamos aqui...

Aqui tienes 2 hechos sobre los comandos en Go:

Cualquier programa en Go consta de instrucciones (comandos). Los comandos son de muchos tipos. En el lenguaje Go hay comandos para todas las ocasiones. Cada comando describe alguna accion concreta.

En Go, normalmente no hace falta punto y coma al final de la linea: basta con un salto de linea.

Ejemplos de comandos de salida:

Comando Descripcion (que hace)
fmt.Println(1)
Muestra en pantalla un numero:
1
fmt.Println("Amigo")
Muestra en pantalla un texto:
Amigo
fmt.Println("Risha & Amigo")
Muestra en pantalla un texto:
Risha & Amigo

En realidad es un solo comando — fmt.Println. Y dentro de los parentesis se le pasan parametros. Segun los valores de los parametros, un mismo comando puede realizar acciones distintas. Esto es muy practico.

El tamano de las letras importa

En Go, el tamano importa: es importante si los comandos estan escritos con mayusculas o minusculas. El comando fmt.Println() funcionara, pero fmt.println() no. Si escribes el comando con las letras equivocadas, Go no lo reconocera y, por tanto, no lo ejecutara. Asi que presta atencion.

Comillas dobles

Si quieres mostrar texto en pantalla, debes delimitarlo por ambos lados con comillas dobles.

La comilla simple se ve asi ', y la comilla doble — asi ". La comilla doble no son dos simples: no las confundas.

En Go, las comillas simples suelen usarse no para cadenas, sino para un solo simbolo (rune), por ejemplo: 'A'.

La comilla doble es la que esta junto al boton Enter. Encima de ella suele estar la letra cirilica "E".

2. Introduccion al comando fmt.Print

Hay otro comando, parecido a fmt.Println(), y se llama fmt.Print().

El comando fmt.Println() muestra texto en pantalla y despues agrega un salto del cursor a la siguiente linea, como si pulsara Enter. Asi, el siguiente comando fmt.Println() mostrara el texto ya en la siguiente linea. Y el siguiente comando, en la siguiente, y asi sucesivamente.

A diferencia de fmt.Println(), el comando fmt.Print() no agrega Enter despues de mostrar el texto. Por eso, el texto mostrado por varios comandos fmt.Print() se imprimira en una sola linea.

Ejemplo 1:

package main

import "fmt"

func main() {
	fmt.Print("Amigo")
	fmt.Println("The")
	fmt.Print("Best")
}
Salida mezclada de Print y Println

Mostrara en pantalla:

AmigoThe
Best

Ejemplo 2:

package main

import "fmt"

func main() {
	fmt.Print("Amigo")
	fmt.Print("The")
	fmt.Print("Best")
}
Solo Print — todo en una linea

Mostrara en pantalla:

AmigoTheBest

Si quieres mostrar texto en una sola linea, usa el comando Print; si quieres mostrarlo en varias, usa Println. Asi de sencillo.

3. Analizamos el comando fmt.Println

Si al menos conoces un poco de ingles, aprender programacion te resultara mucho mas facil. El nombre de muchos comandos en Go esta directamente relacionado con lo que hacen.

Por ejemplo, Println es print + ln — imprime una linea (una cadena). Creo que todo el mundo conoce la palabra print, y ln es una abreviatura de line. Cada linea de texto en la pantalla es una linea independiente. Por eso, imprimir una linea significa precisamente mostrar una linea de texto (e ir a la siguiente linea).

fmt es un paquete de la biblioteca estandar de Go. Su nombre suele expandirse como format (formato). A traves de el, lo mas habitual es imprimir texto en pantalla (en la consola). Consola es el nombre antiguo del dispositivo que permitia escribir comandos con el teclado y mostrar los resultados en pantalla.

Dicho de otro modo, trabajar con la consola es mostrar texto en pantalla y recibir datos con ayuda del teclado. Por eso, si en el futuro oyes que un programa ha mostrado algo en la consola, simplemente significa que ha mostrado texto en pantalla.

Y asi resulta que fmt.Println es algo parecido a: "Oye, consola, muestra en pantalla una linea de texto (y pasa a la siguiente)".

4. Ejemplos de salida de distintos datos

Vamos a jugar con la salida en la consola. Empezaremos por lo mas sencillo y poco a poco lo complicaremos:

Salida de numeros

package main

import "fmt"

func main() {
	fmt.Println(1001)
	fmt.Println(-15)
}
Salida de numeros

Salida de texto

package main

import "fmt"

func main() {
	fmt.Println("Programar es genial!")
	fmt.Println("Bromeamos, y ahora a programar.")
}
Salida de texto

Salida de varios valores a la vez

Si quieres mostrar varios valores, lo mas facil es pasar varios argumentos a fmt.Println:

package main

import "fmt"

func main() {
	fmt.Println("Mi edad:", 28)
}
Varios argumentos en fmt.Println

Mostrara en pantalla:

Mi edad: 28

Asi es muy facil formar frases con sentido:

package main

import "fmt"

func main() {
	fmt.Println("Ahora estamos en", 2026, "ano.")
}
Unir significado sin concatenacion: varios argumentos

Mostrara en pantalla:

Ahora estamos en 2026 ano.

5. Errores principales al usar fmt.Println

Los jedis jovenes suelen tropezar con las mismas piedras una y otra vez. Pero, para que no te conviertas en el heroe del libro "1001 errores en Go", aqui tienes una lista de fallos comunes y consejos para evitarlos.

Error 1. Olvidaste cerrar la cadena — perdiste la segunda comilla.

Si escribes algo asi (fijate: la cadena no esta cerrada):

package main

import "fmt"

func main() {
	fmt.Println("Vaya, abrimos la comilla y olvidamos cerrarla);
}

El compilador protestara con algo parecido a "string literal not terminated" — ¡cierra las cadenas!

Error 2. Olvidaste importar el paquete fmt

En Go, para usar fmt.Println, hay que importar el paquete fmt.

package main

func main() {
	fmt.Println("Si no hay import fmt, habra un error de compilacion")
}

Error 3. Uso de comillas incorrectas

Los principiantes a veces usan comillas latinas o comillas simples:

package main

import "fmt"

func main() {
	fmt.Println(‘Error’) // incorrecto: no son comillas dobles estandar
	fmt.Println('Error') // incorrecto: en Go las comillas simples son para un solo simbolo (rune)
	fmt.Println("Error") // correcto
}

Para las cadenas siempre usamos las dobles estandar — estas: ".

1
Tarea
Go SELF, nivel 1, lección 2
Bloqueada
Primer saludo
Primer saludo
1
Tarea
Go SELF, nivel 1, lección 2
Bloqueada
Dos líneas
Dos líneas
1
Tarea
Go SELF, nivel 1, lección 2
Bloqueada
Imprimir hechos
Imprimir hechos
1
Tarea
Go SELF, nivel 1, lección 2
Bloqueada
Ruta con flechas
Ruta con flechas
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION