Когда я использую мод go и у меня есть только один файл .go, все в порядке, и go mod могу загрузить внешний пакет и использовать его, но когда я использую внешний пакет в другом файле (не в файле main.go), я получаю эту ошибку (когда беги go run main.go)
test/test.go:4:2: cannot find package
Моя структура проекта выглядит следующим образом:
├── go.mod
├── go.sum
├── main.go
└── test
└── test.go
И это мои файлы:
package main
import (
"./test"
)
func main() {
test.Hello()
}
package test
import (
"github.com/mehrdadep/tgomod"
)
func Hello() {
tgomod.Print()
}
module test
go 1.15
require github.com/mehrdadep/tgomod v1.0.1
github.com/mehrdadep/tgomod v1.0.1 h1:4lxx7JE0pySHLbH52sidkkKBjJQFC8ZZej3zEX/RTWc=
github.com/mehrdadep/tgomod v1.0.1/go.mod h1:YIkzdF7Sf9nd+eC0ySxL+gGbsew7LvUh9vP3p7yzTi4=
Спасибо

я меняю
import (
"./test"
)
к
import (
"test/test"
)
И это работает
Итак, я обнаружил, что ваш путь должен основываться на имени вашего модуля, а затем добавить к нему ваш каталог
В test/test мой первый тест — это имя моего модуля, а второй — имя моего каталога.
Я предлагаю вам прочитать "Как писать код Go", так как это официальная документация, в которой описывается, как это сделать правильно.