Menu
Coddy logo textTech

Пакеты и импорты

Часть раздела Объектно-ориентированное программирование путешествия по GO на Coddy — урок 3 из 107.

Каждый файл Go начинается с объявления package. Ключевое слово import подключает пакеты из стандартной библиотеки Go, чтобы вы могли использовать их функции.

Импорт одного пакета

import "fmt"

Импорт нескольких пакетов с использованием блока import

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

Используйте функции из импортированных пакетов с именем пакета в качестве префикса

package main

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

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // Вывод: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // Вывод: 4
}

Распространенные пакеты стандартной библиотеки

"fmt"     // Форматированный ввод-вывод (Print, Scan, Sprintf)
"strings" // Манипуляции со строками (ToUpper, Contains, Replace)
"math"    // Математические функции (Sqrt, Pow, Pi)
"strconv" // Преобразование строк (Itoa, Atoi)

Вы обращаетесь к функциям из пакета, используя packagename.FunctionName. Go позволяет импортировать только те пакеты, которые вы действительно используете — неиспользуемые импорты вызывают ошибку компиляции.

challenge icon

Задание

Средне

Исправьте инструкцию импорта в utils.go, чтобы функции работали правильно. Вам необходимо импортировать пакеты strings и math:

  • FormatText использует strings.ToUpper
  • ContainsWord использует strings.Contains
  • SquareRoot использует math.Sqrt

Шпаргалка

Каждый файл Go начинается с объявления package. Используйте ключевое слово import для подключения пакетов из стандартной библиотеки Go.

Импорт одного пакета:

import "fmt"

Импорт нескольких пакетов с использованием блока импорта:

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

Доступ к функциям из импортированных пакетов осуществляется с помощью packagename.FunctionName:

package main

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

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // Вывод: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // Вывод: 4
}

Распространенные пакеты стандартной библиотеки:

"fmt"     // Форматированный ввод-вывод (Print, Scan, Sprintf)
"strings" // Манипуляции со строками (ToUpper, Contains, Replace)
"math"    // Математические функции (Sqrt, Pow, Pi)
"strconv" // Преобразование строк (Itoa, Atoi)

Примечание: Go позволяет импортировать только те пакеты, которые вы действительно используете — неиспользуемые импорты вызывают ошибку компиляции.

Попробуйте сами

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 iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование