Начал изучать Go и никак не могу победить простую проблему.
Go 1.16
В соответствии с примерами делаю так:
1. Устанавливаю GOPATH = c:\projects\go
2. В папке c:\projects\go создаю подпапку src
3. В папке scr создаю директорию mytest и папки, получается такая структура:
src\mytest\paсkage1
src\mytest\cmd
4. В paсkage1 создаю файл package1.go:
package paсkage1
// RetVal test function
func RetVal() string {
return "passed"
}
5. В cmd создаю файл main.go
package main
import (
"fmt"
"mytest/package1"
)
func main() {
fmt.Println("Test of package:")
fmt.Println(package1.RetVal())
}
При попытке выполнить код командой go run main.go, чтобы я не делал получаю ошибку:
main.go:5:2: package mytest/package1 is not in GOROOT (c:\go\src\mytest\paсkage1)
Почему main.go не видит этот пакет? В роликах на ютубе у людей все работает.
Делаю 1 в 1 как у них - не работает.
Копирую примеры из интернета - не работает.
Не могу понять в чем ошибка.
Работает только если скопировать в системную папку c:\go\src\mytest\paсkage1
Не хочется засорять системную папку и плюс тогда возникает вопрос как добавлять такой код в git.