Menu
Coddy logo textTech

Go Workspace e Módulos

Parte da seção Programação Orientada a Objetos do Journey de GO da Coddy — lição 2 de 107.

Um módulo Go é uma coleção de arquivos Go relacionados. O arquivo go.mod na raiz do seu projeto declara o nome do módulo e a versão do Go.

Inicialize um módulo com o comando de terminal

go mod init myapp

Isso cria um arquivo go.mod

module myapp

go 1.21

Uma estrutura de projeto simples

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

Todos os arquivos compartilham o mesmo pacote

// 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) // Saída: 10
}

O arquivo go.mod define seu projeto como um módulo. Todos os arquivos .go que declaram o mesmo package podem acessar as funções uns dos outros diretamente. O nome do módulo em go.mod identifica seu projeto.

challenge icon

Desafio

Fácil

Complete o mathhelper.go dentro do mesmo módulo e pacote:

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

Folha de consulta

Um módulo Go é uma coleção de arquivos Go relacionados declarados por um arquivo go.mod na raiz do projeto.

Inicialize um módulo:

go mod init myapp

Isso cria um arquivo go.mod:

module myapp

go 1.21

Todos os arquivos .go no mesmo pacote podem acessar as funções uns dos outros diretamente:

// 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) // Saída: 10
}

Experimente você mesmo

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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos