注意:这不是在问Why the functions defined in other "main" packages are not recognised?。
我有一个具有以下结构的项目:
go / src / github.com / me / project / cmd / web / main.go
# main.go
package main
import(
"github.com/me/myproject/internal/myproject"
)
void main() {
// ...
}
go / src / github.com / me / project / cmd / web / handlers.go
# handlers.go
package main
void someFunc() {
// ...
}
然后我编译并成功运行:
go run ./cmd/web
我也可以使用go run cmd/web/*.go
但是,当我尝试使用go run cmd/web
运行时,为什么编译失败并显示以下输出:
package cmd/web: package cmd/web is not in GOROOT (/usr/local/go/src/cmd/web)
为什么./cmd/web
起作用,但是cmd/web
不起作用?