Menu
Coddy logo textTech

Pacotes e Importações

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

Todo arquivo Go começa com uma declaração package. A palavra-chave import traz pacotes da biblioteca padrão do Go para que você possa usar suas funções.

Importar um único pacote

import "fmt"

Importe múltiplos pacotes usando um bloco de importação

import (
    "fmt"
    "math"
    "strings"
)

Use funções de pacotes importados com o nome do pacote como prefixo

package main

import (
    "fmt"
    "strings"
    "math"
)

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // Output: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // Output: 4
}

Pacotes comuns da biblioteca padrão

"fmt"     // E/S formatada (Print, Scan, Sprintf)
"strings" // Manipulação de strings (ToUpper, Contains, Replace)
"math"    // Funções matemáticas (Sqrt, Pow, Pi)
"strconv" // Conversões de string (Itoa, Atoi)

Você acessa funções de um pacote usando packagename.FunctionName. O Go permite apenas que você importe pacotes que você realmente usa — importações não utilizadas causam um erro de compilação.

challenge icon

Desafio

Médio

Corrija a instrução de importação em utils.go para que as funções funcionem corretamente. Você precisa importar os pacotes strings e math:

  • FormatText usa strings.ToUpper
  • ContainsWord usa strings.Contains
  • SquareRoot usa math.Sqrt

Folha de consulta

Todo arquivo Go começa com uma declaração package. Use a palavra-chave import para trazer pacotes da biblioteca padrão do Go.

Importar um único pacote:

import "fmt"

Importar múltiplos pacotes usando um bloco de importação:

import (
    "fmt"
    "math"
    "strings"
)

Acesse funções de pacotes importados usando packagename.FunctionName:

package main

import (
    "fmt"
    "strings"
    "math"
)

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // Output: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // Output: 4
}

Pacotes comuns da biblioteca padrão:

"fmt"     // E/S formatada (Print, Scan, Sprintf)
"strings" // Manipulação de strings (ToUpper, Contains, Replace)
"math"    // Funções matemáticas (Sqrt, Pow, Pi)
"strconv" // Conversões de string (Itoa, Atoi)

Nota: O Go permite apenas que você importe pacotes que você realmente usa — importações não utilizadas causam um erro de compilação.

Experimente você mesmo

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    scanner.Scan()
    line := scanner.Text()

    parts := strings.Fields(line)
    numStr := parts[len(parts)-1]
    text := strings.Join(parts[:len(parts)-1], " ")
    num, _ := strconv.ParseFloat(numStr, 64)

    fmt.Printf("Upper: %s\n", FormatText(text))
    fmt.Printf("Contains 'world': %t\n", ContainsWord(text, "world"))
    fmt.Printf("Sqrt: %.2f\n", SquareRoot(num))
}
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