Если ваш модуль model
не является локальным, вы можете использовать ответ Tonys, и он будет работать нормально, но если вы используете этот модуль локально, вам нужно будет добавить пути в ваш файл go.mod
.
Так, например, Локальный модуль model
содержит только model.go
, который имеет следующее содержимое
package model
type Example struct {
Name string
}
func (e *Example) Foo() string {
return e.Name
}
Для этого локального модуля должно быть необходимо запустить модуль с помощью команды go mod init model
и содержимого ./model/go.mod
будет
module model
go 1.13
В основном модуле, в который вы импортируете этот модуль, вам необходимо добавить следующую строку
require model v1.0.0
replace model v1.0.0 => {Absolute or relative path to the model module}
Так файл go.mod
вашего main
модуля тестирования будет выглядеть следующим образом
module main
require model v1.0.0
replace model v1.0.0 => ./model
go 1.13
При настройке этого модуля вы можете использовать этот модуль test
с import "model"
Следовательно, при тестировании модуля с основным методом
package main
import (
model "model"
)
func main() {
example := model.Example{
Name: "Hello World",
}
println(example.Foo())
}
Выход будет
Hello World