Свой пакет в Go
Чужой пакет подключают по пути модуля и вызывают через его имя. Свой код в подпапке ведут так же, как библиотеку из стандартной поставки, только путь начинается с имени модуля.
Положим приветствие в папку greet:
package greet
func Hello() string {
return "hello"
}
В точке входа подключаем пакет и обращаемся
к нему по имени greet:
package main
import (
"fmt"
"example.com/app/greet"
)
func main() {
fmt.Println(greet.Hello())
}
Путь "example.com/app/greet" складывается
из строки module в go.mod и имени
папки greet. После подключения в коде
пишут greet.Hello, а не имя папки
отдельно от имени пакета.
Запуск по-прежнему из корня модуля, где
лежат go.mod и main.go. Компилятор
собирает main вместе с пакетом из
подпапки по одному дереву исходников.
Даны файлы модуля "example.com/app"
и пакет greet с Hello. Допишите
в main.go подключение и печать
результата Hello.
Создайте пакет calc в calc/sum.go
с функцией Sum для двух int
и выведите результат из main.
Дан следующий код в main.go:
package main
import "fmt"
func main() {
fmt.Println("only main")
}
Добавьте greet/greet.go и подключите
greet.Hello по пути модуля
"example.com/app".