Menu
Coddy logo textTech

Рабочее пространство и модули Go

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

Модуль Go — это коллекция связанных файлов Go. Файл go.mod в корне вашего проекта объявляет имя модуля и версию Go.

Инициализируйте модуль с помощью команды терминала

go mod init myapp

Это создает файл go.mod

module myapp

go 1.21

Простая структура проекта

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

Все файлы относятся к одному и тому же пакету

// 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) // Вывод: 10
}

Файл go.mod определяет ваш проект как модуль. Все файлы .go, объявляющие один и тот же package, могут обращаться к функциям друг друга напрямую. Имя модуля в go.mod идентифицирует ваш проект.

challenge icon

Задание

Легко

Заполните mathhelper.go в том же модуле и пакете:

  • Double — возвращает n * 2
  • Triple — возвращает n * 3
  • Square — возвращает n * n

Шпаргалка

Модуль Go — это коллекция связанных файлов Go, объявленная файлом go.mod в корне проекта.

Инициализируйте модуль:

go mod init myapp

Это создаст файл go.mod:

module myapp

go 1.21

Все файлы .go в одном и том же пакете могут обращаться к функциям друг друга напрямую:

// 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) // Вывод: 10
}

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

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

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

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