小编Eie*_*YC_的帖子

Golang模块问题--package xxx/xxxx不在GOROOT中

所以这是我的目录:

go
|-src
   |-ppppppSample
        |-newFolderOne
            |-firstSample.go
        |-hello.go
        |-go.mod
Run Code Online (Sandbox Code Playgroud)

这是 hello.go 的内容

package main

import (
    "fmt"
    jjj "ppppppSample/newFolderOne"
)



func main() {
    fmt.Println("start to test")
    fmt.Println(jjj.FirstVVVV)
}
Run Code Online (Sandbox Code Playgroud)

这是firstSample.go的内容

package newFolderOne

var FirstVVVV = "Im first SSSSSSSSSSSS"
Run Code Online (Sandbox Code Playgroud)

这是我的 go.mod 的内容

module mmmmmppppp

go 1.15
Run Code Online (Sandbox Code Playgroud)

当给它 cmd go run hello.go 时,终端输出如下:

D:\Users\eien_zheng\go\src\ppppppSample>go run hello.go hello.go:5:2: 包 ppppppSample/newFolderOne 不在 GOROOT 中 (C:\Go\src\ppppppSample\newFolderOne)

所以这是我的问题:

(由于我是golang新手,希望大家能够理解并包容我的一些误解)

根据我对Go模块的理解(也许是错误的),Go模块的功能是让某种在线资源下载到GOPATH/pkg/mod目录中,而不是存在于GOROOT中。无论您的项目位于哪个目录,如果您初始化 Go 模块,您的项目仍然可以从 GOPATH/pkg/mod 导入这些资源。但是!!,根据我的理解,它仍然可以使用包系统在项目目录周围导入包,同时通过Go模块系统导入在线资源。

当我为 hello.go 执行 (mod init) 时,它会丢失该项目的(基本包导入功能)吗?

go gopath go-packages go-modules

3
推荐指数
1
解决办法
3653
查看次数

标签 统计

go ×1

go-modules ×1

go-packages ×1

gopath ×1