如何在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的情况下正确导入本地包?请为新手逐步解释。