Повторное использование кода в go

Не совсем понимаю логику устройства кода в Go. Например у меня есть проект

GoTest
|---go.mod
|---test.go
|---GoTest.go
|---Part1
    |---go.mod
    |---Part1.go

Содержимое Part1.go

package Part1
improt "example.com/GoTest/Part1"

func GoTestPart1() string{
    return "GoTestPart1"
}

и файла Part1/go.mod

module example.com/GoTest/Part1

go 1.17

Теперь я хочу вызвать это код из test.go

package main

import "fmt"
import "example.com/GoTest/Part1"

func main(){
    fmt.Print(GoTest())
    fmt.Print(GoTestPart1())
}

При сборке получаю следующее:

e:\projects\go\src\GoTest>go build
test.go:4:8: no required module provides package example.com/GoTest/Part1; to add it:
        go get example.com/GoTest/Part1

Что нужно сделать чтобы этот код заработал? Правильно я понимаю что папка GoTestPart1 это уже как-бы другой модуль? А если я хочу просто логически выделить содержимое этой папки как самостоятельную часть, но которая при этом не может существовать отдельно (Как если бы мы писали на С++, мы же не все файлы одного проекта пихаем в одну директорию).


Ответы (0 шт):