Golang 模块问题--package xxx/xxxx is not in GOROOT
Golang Module problem--package xxx/xxxx is not in GOROOT
所以这是我的目录:
go
|-src
|-ppppppSample
|-newFolderOne
|-firstSample.go
|-hello.go
|-go.mod
这里是hello.go
的内容
package main
import (
"fmt"
jjj "ppppppSample/newFolderOne"
)
func main() {
fmt.Println("start to test")
fmt.Println(jjj.FirstVVVV)
}
这里是firstSample.go
的内容
package newFolderOne
var FirstVVVV = "Im first SSSSSSSSSSSS"
这是我go.mod的内容
module mmmmmppppp
go 1.15
当给它 cmd go 运行 hello.go 时,终端出来是这样的:
D:\Users\eien_zheng\go\src\ppppppSample>去运行hello.go
hello.go:5:2: 包 ppppppSample/newFolderOne 不在 GOROOT (C:\Go\src\ppppppSample\newFolderOne)
所以这是我的问题:
(刚接触golang,希望大家多多理解,多多包涵)
根据我对Go module的理解(可能是错误的),Go module的功能是让某种在线资源下载到目录GOPATH/pkg/mod而不是存在于 GOROOT 中。
无论您的项目在哪个目录中,如果您初始化 Go module,您的项目仍然可以从 GOPATH/pkg/mod 导入这些资源。
但是!!,在我的理解中,它仍然可以使用包系统在项目目录周围导入包,同时通过 Go module 系统导入在线资源。
当我为 hello.go 执行 (mod init) 时,它如何失去该项目的(基本包导入功能)?
使用模块路径在模块中导入包:
package main
import (
"fmt"
jjj "mmmmmppppp/newFolderOne"
)
...
|--src
|--sample
|--newFolder
|-firstSample.go (package xyz)
|--hello.go (package main import(xyz "sample/newFolder")
|--go mod (module sample go 1.15)
go mod 应该引用根文件夹,这里的根文件夹是 |--sample
module sample
go v1.xx
inside hello.go;
package main
import ( xyz "sample/newFolder")
and make sure exported functins or variables use camelCase aka starts with BlockLetters.
所以这是我的目录:
go
|-src
|-ppppppSample
|-newFolderOne
|-firstSample.go
|-hello.go
|-go.mod
这里是hello.go
的内容package main
import (
"fmt"
jjj "ppppppSample/newFolderOne"
)
func main() {
fmt.Println("start to test")
fmt.Println(jjj.FirstVVVV)
}
这里是firstSample.go
的内容package newFolderOne
var FirstVVVV = "Im first SSSSSSSSSSSS"
这是我go.mod的内容
module mmmmmppppp
go 1.15
当给它 cmd go 运行 hello.go 时,终端出来是这样的:
D:\Users\eien_zheng\go\src\ppppppSample>去运行hello.go hello.go:5:2: 包 ppppppSample/newFolderOne 不在 GOROOT (C:\Go\src\ppppppSample\newFolderOne)
所以这是我的问题:
(刚接触golang,希望大家多多理解,多多包涵)
根据我对Go module的理解(可能是错误的),Go module的功能是让某种在线资源下载到目录GOPATH/pkg/mod而不是存在于 GOROOT 中。 无论您的项目在哪个目录中,如果您初始化 Go module,您的项目仍然可以从 GOPATH/pkg/mod 导入这些资源。 但是!!,在我的理解中,它仍然可以使用包系统在项目目录周围导入包,同时通过 Go module 系统导入在线资源。
当我为 hello.go 执行 (mod init) 时,它如何失去该项目的(基本包导入功能)?
使用模块路径在模块中导入包:
package main
import (
"fmt"
jjj "mmmmmppppp/newFolderOne"
)
...
|--src
|--sample
|--newFolder
|-firstSample.go (package xyz)
|--hello.go (package main import(xyz "sample/newFolder")
|--go mod (module sample go 1.15)
go mod 应该引用根文件夹,这里的根文件夹是 |--sample
module sample go v1.xx
inside hello.go;
package main import ( xyz "sample/newFolder")
and make sure exported functins or variables use camelCase aka starts with BlockLetters.