相关疑难解决方法(0)

使用Go模块组织软件包中的本地代码

main.go当在之外使用Go模块(go版本> = 1.11)时,找不到在本地包中分解出某些代码的方法$GOPATH

我没有导入任何需要包含的外部依赖项go.mod,我只是想在本地组织此Go模块的源代码。

文件main.go

package main

// this import does not work
import "./stuff"

func main() {
    stuff.PrintBaz()
}
Run Code Online (Sandbox Code Playgroud)

该文件./stuff/bar.go(假装为本地软件包):

package stuff

import "log"

type Bar struct {
    Baz int
}

func PrintBaz() {
    baz := Bar{42}
    log.Printf("Bar struct: %v", baz)
}
Run Code Online (Sandbox Code Playgroud)

文件go.mod(命令go mod init foo):

module foo

go 1.12
Run Code Online (Sandbox Code Playgroud)

执行时go run main.go

  • 如果是我import "./stuff",那么我明白了build command-line-arguments: cannot find module for path …

go go-packages go-modules

8
推荐指数
2
解决办法
6340
查看次数

标签 统计

go ×1

go-modules ×1

go-packages ×1