Criando um novo módulo

Vamos criar um novo módulo.

Crie um novo diretório vazio em qualquer lugar do seu sistema de arquivos (desde Go 1.16, não é mais necessário se preocupar com $GOPATH), vá até esse diretório e, em seguida, crie um novo arquivo, hello.go:

package hello

func Hello() string {
    return "Hello, world."
}

Vamos escrever um teste também em hello_test.go:

package hello

import "testing"

func TestHello(t *testing.T) {
    want := "Hello, world."
    if got := Hello(); got != want {
        t.Errorf("Hello() = %q, want %q", got, want)
    }
}

Neste ponto, o diretório contém um pacote, mas não um módulo, porque não há um arquivo go.mod.

Se estivéssemos trabalhando em /home/gopher/hello e executássemos o teste sem um go.mod, veríamos um erro solicitando que você execute go mod init primeiro.

Vamos tornar o diretório atual a raiz de um módulo usando go mod init e, em seguida, tente go test novamente:

O comando go mod init escreveu um arquivo go.mod:

A diretiva go no arquivo go.mod indica a versão mínima do Go necessária para compilar este módulo. Desde Go 1.21, o Go pode automaticamente baixar e usar a versão correta do toolchain se necessário.

Last updated