Escribir la primera línea de código en un lenguaje nuevo es siempre un momento decisivo, y en Go ese ritual comienza con el clásico hello world. A continuación encontrarás cada paso necesario para configurar tu entorno, crear el archivo principal y ejecutar tu primer programa, junto con las buenas prácticas que el propio lenguaje te obliga a seguir.
¿Cómo preparar el entorno y crear el archivo principal?
Antes de escribir código, es necesario ubicarse en la carpeta de trabajo. Desde la terminal, accede a tu directorio Codepad con cd y entra en la carpeta src, que es donde vivirán todos tus programas [0:24]. Dentro de src, crea una carpeta específica para el proyecto e ingresa en ella.
Una vez dentro, abre Visual Studio Code directamente desde la terminal escribiendo code ., lo que indica al editor que se abra en la ruta actual [1:06]. Si la terminal integrada no aparece en la parte inferior del editor, ve al menú superior, selecciona Terminal y luego Nueva terminal.
¿Por qué el archivo se llama main.go?
Dentro de la carpeta src del proyecto, crea el archivo con touch src/main.go [1:30]. Main es, por buena práctica, el punto de entrada de cualquier programa en Go. Además, todo archivo de Go debe llevar la extensión .go; sin ella, el compilador no lo reconocerá.
Es recomendable instalar la extensión oficial de Go en Visual Studio Code, desarrollada por golang.go [1:55]. Esta extensión ofrece autocompletado, importación automática de paquetes y advertencias de sintaxis que ahorran tiempo considerable durante el desarrollo.
¿Qué estructura tiene un programa básico en Go?
Todo programa en Go comienza declarando un package [2:28]. El package corresponde al nombre lógico de la carpeta donde reside el archivo; para el archivo principal siempre será main.
go
package main
import "fmt"
func main() {
fmt.Println("Hola mundo")
}
- func es la palabra reservada para declarar una función [2:44].
- main() es la función principal que se ejecuta al invocar el programa.
- fmt es el paquete estándar encargado de la impresión en consola [2:58].
- Println imprime el texto seguido de un salto de línea. Es importante que la primera letra sea mayúscula, ya que en Go las mayúsculas determinan la visibilidad de funciones y variables.
Cuando guardas el archivo, la extensión importa automáticamente el paquete fmt si detecta que lo estás utilizando. Si dejas de usarlo y guardas, lo elimina. Esto evita que queden librerías importadas sin uso, algo que Go no permite y que en otros lenguajes suele generar código muerto [3:30].
¿Cuál es la diferencia entre go build y go run?
Existen dos formas de ejecutar el programa [4:00]:
- go build: compila el código y genera un archivo ejecutable. Luego lo ejecutas con
./main. Es el enfoque más eficiente para producción.
- go run: compila en una carpeta temporal, muestra el output y elimina el binario [4:30]. Es menos eficiente pero muy práctico durante el desarrollo.
bash
Compilar y ejecutar
go build src/main.go
./main
Ejecutar directamente
go run src/main.go
Ambos comandos producen la misma salida: Hola mundo.
¿Cómo Go te obliga a seguir buenas prácticas?
Una característica notable de Go es que no tolera variaciones de estilo que en otros lenguajes son opcionales [4:58]. Por ejemplo, colocar la llave de apertura en una línea separada genera un error de sintaxis:
go
// Esto provoca error en Go
func main()
{
fmt.Println("Hola mundo")
}
El compilador exige que la llave esté en la misma línea que la declaración de la función [5:28]. Esto elimina debates sobre formato y garantiza que todo el código en Go luzca uniforme.
Otro ejemplo es el manejo de espacios innecesarios. Si agregas tabulaciones o espacios de más, al guardar el archivo la extensión los corrige automáticamente, alineando el código con la sintaxis estándar [5:50]. Aunque insistas en añadir espacios extra, el formatter los eliminará cada vez que guardes.
Estas restricciones convierten a Go en un lenguaje donde las buenas prácticas no son sugerencias, sino reglas que el compilador y las herramientas imponen desde el primer momento. Si ya lograste ver tu "Hola mundo" en consola, comparte cómo te fue en los comentarios.