gpt4 book ai didi

go - Go 编译器的 "no such file or directory"是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 00:50:36 24 4
gpt4 key购买 nike

我正在尝试编译一个由多个模块组成的 Go 程序,如下所示:

// main.go
package main
import "mst"
// do something interesting involving minimum spanning trees

// src/mst/kruskal.go
import "disjsets"
// Kruskal's algorithm follows

// src/disjsets/disjsets.go
// implements disjoint sets with union-find

现在,当我在包含 export GOPATH=. 的目录中运行 go run main.gogo build 时>main.gosrc,它打印

# disjsets
open src/disjsets/disjsets.go: No such file or directory

我不明白这个。该文件在那里,因为 ls -l src/disjsets/disjsets.go 确认。这怎么会发生?如果 Go 要找到它,disjsets.go 文件应该放在哪里?

(谷歌围棋 1.0.2)

最佳答案

我相信您应该阅读或重新阅读 How to Write Go code

简而言之:

将你的 GOPATH 设置到某个地方并永久导出它。然后将一些包 blah 放入目录

$GOPATH/src/foo/bar/baz/blah # (1)

$GOPATH/src/blah # (2)

$GOPATH/src/qux/blah # (3) etc.

blah 导入到其他包中作为

import "foo/bar/baz/blah" // (1)

import "blah" // (2)

import "qux/blah" // (3)

该目录中的包将包含包文件。假设您只有一个,blah.go。那么它的位置就是

$GOPATH/src/foo/bar/baz/blah/blah.go // (1)

$GOPATH/src/blah/blah.go // (2)

$GOPATH/src/qux/blah/blah.go // (3)

如果命名了 blah 包源文件,则说 proj.go,然后

$GOPATH/src/foo/bar/baz/blah/proj.go // (1)

$GOPATH/src/blah/proj.go // (2)

$GOPATH/src/qux/blah/proj.go // (3)

但导入路径与之前的情况相同。

关于go - Go 编译器的 "no such file or directory"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14440369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com