为了账号安全,请及时绑定邮箱和手机立即绑定

Golang Module问题--包xxx/xxxx不在GOROOT中

Golang Module问题--包xxx/xxxx不在GOROOT中

Go
潇潇雨雨 2022-07-11 14:28:06
所以这是我的目录:go|-src   |-ppppppSample        |-newFolderOne            |-firstSample.go        |-hello.go        |-go.mod这是 hello.go 的内容package mainimport (    "fmt"    jjj "ppppppSample/newFolderOne")func main() {    fmt.Println("start to test")    fmt.Println(jjj.FirstVVVV)}这是 firstSample.go 的内容package newFolderOnevar FirstVVVV = "Im first SSSSSSSSSSSS"这是我的 go.mod 的内容module mmmmmpppppgo 1.15当给它 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) 时,它会失去该项目的 (基本包导入功能) 怎么办?
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

|--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


模块示例 go v1.xx


在 hello.go 里面;


  package main

  import ( xyz "sample/newFolder")


and make sure exported functins or variables use camelCase aka starts with BlockLetters.


查看完整回答
反对 回复 2022-07-11
?
开满天机

TA贡献1786条经验 获得超12个赞

使用模块的路径在模块中导入包:


package main


import (

    "fmt"

    jjj "mmmmmppppp/newFolderOne"

)


...


查看完整回答
反对 回复 2022-07-11
  • 2 回答
  • 0 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信