После внимательного чтения, предложенного @enzo, мой запрос теперь работает
Пример структуры:
├── go.mod
├── include
│ ├── sourceA.go
│ └── sourceB.go
└── myapp.go
Решение состоит в том, чтобы создать простой правильный "go .mod"файл на уровне основного приложения. В моем случае нет необходимости иметь один в папке «include»
go mod init <name of your app>
Содержимое файла go .mod:
MyApp module
go 1.14
Содержимое include /sourceA.go:
package include
const ValueA = "a value from sourceA.go"
func FunctionA () {
println("Hello: sourceA.go")
}
Содержимое include / sourceB. go:
package include
const ValueB = "a value from sourceB.go"
func FunctionB () {
println("Hello: sourceB.go")
}
Содержимое myapp . go:
package main
import "myapp/include"
func main() {
include.FunctionA()
include.FunctionB()
println(include.ValueA)
println(include.ValueB)
}
Управление импортом (все является модулем / пакетами) не обязательно очевидно для понимания в начале учеников в Go, но как только « понял », это более логично, особенно для подхода «включать», чем найти его на других языках.
Надеюсь, это будет полезно другим для лучшего кода файловая организация (есть, конечно, лучшие методы, но на данный момент этот подходит мне)