Menu
Coddy logo textTech

Espacio de trabajo y módulos de Go

Parte de la sección Programación Orientada a Objetos del Journey de GO de Coddy — lección 2 de 107.

Un módulo de Go es una colección de archivos de Go relacionados. El archivo go.mod en la raíz de tu proyecto declara el nombre del módulo y la versión de Go.

Inicializa un módulo con el comando de terminal

go mod init myapp

Esto crea un archivo go.mod

module myapp

go 1.21

Una estructura de proyecto simple

myapp/
├── go.mod
├── main.go
└── helper.go

Todos los archivos comparten el mismo paquete

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // Salida: 10
}

El archivo go.mod define su proyecto como un módulo. Todos los archivos .go que declaran el mismo package pueden acceder directamente a las funciones de los demás. El nombre del módulo en go.mod identifica su proyecto.

challenge icon

Desafío

Fácil

Completa mathhelper.go dentro del mismo módulo y paquete:

  • Double — devuelve n * 2
  • Triple — devuelve n * 3
  • Square — devuelve n * n

Hoja de referencia

Un módulo de Go es una colección de archivos de Go relacionados declarados por un archivo go.mod en la raíz del proyecto.

Inicializa un módulo:

go mod init myapp

Esto crea un archivo go.mod:

module myapp

go 1.21

Todos los archivos .go en el mismo paquete pueden acceder a las funciones de los demás directamente:

// helper.go
package main

func Double(n int) int {
    return n * 2
}
// main.go
package main

import "fmt"

func main() {
    result := Double(5)
    fmt.Println(result) // Salida: 10
}

Pruébalo tú mismo

package main

import "fmt"

func main() {
    var n int
    fmt.Scan(&n)

    fmt.Printf("Double: %d\n", Double(n))
    fmt.Printf("Triple: %d\n", Triple(n))
    fmt.Printf("Square: %d\n", Square(n))
}
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 Programación Orientada a Objetos