Avatar ·

如何在Go中无需GOPATH导入本地包(Go模块)

你好!我开始学习Go,遇到了导入本地包的问题。我习惯使用其他语言,只需在同一文件夹中创建文件并导入即可。但在Go中,这要复杂得多。 我的项目结构如下: ``` myproject/ ├── main.go └── utils/ └── helper.go ``` 在`helper.go`中,我定义了一个函数`Hello()`: ```go package utils func Hello() string { return "来自utils的问候!" } ``` 在`main.go`中,我尝试导入这个包: ```go package main import ( "fmt" "myproject/utils" ) func main() { fmt.Println(utils.Hello()) } ``` 但当我运行`go run main.go`时,收到错误:`package myproject/utils is not in GOROOT (/usr/local/go/src/myproject/utils)`。我读到以前需要配置GOPATH,但听说新版本的Go中有个叫“模块”的东西。如何在没有GOPATH的情况下正确导入本地包?请为新手逐步解释。