小编fen*_*lyn的帖子

GO (Golang) 在同一目录中看不到其他 .go 文件

问题:从其他包导出的函数未定义,在 main.go 内部不可见

解决方案:main.go放入单独的文件夹中(将其命名为app或 main,没关系)。只有 go.mod 保留在根目录中,其中包含文件夹“ app ”和“package1”“package2”等。在此 VSCode 在保存时自动添加导入之后,我什至不需要执行任何操作。如果我在 root 中有 main.go 那么它不起作用(大多数时候),因为它不能“看到”其他模块(未定义)的函数。

我在这里找到了解决方案(参见 davidbost 的帖子)。安德烈·迪亚特洛夫(Andrey Dyatlov)在本页上的解决方案也工作了一段时间,然后停止工作。

我大概花了 10 个小时的尝试、错误和搜索。 希望以上内容对其他人有帮助。谢谢大家!

_______________________________________________________________________

原问题描述:

Windows 10、Go 1.17、带有 Go 扩展的 VS Code。

您好,我是 Go 新手,由于以下问题,我无法遵循单个教程。当我在与 main.go 相同的目录(或同一目录的文件夹内)创建另一个 .go 文件时,我收到错误消息.\main.go:7:2: undefined: SayHi


main.go 文件:

package main

import "fmt"

func main() {
    fmt.Println("1st")
    SayHi()
}
Run Code Online (Sandbox Code Playgroud)

/something 文件夹中的另一个 .go 文件:

package something

import "fmt"

func SayHi() {
    fmt.Println("Hi!")
}
Run Code Online (Sandbox Code Playgroud)

运行 go run main.go …

import undefined go

0
推荐指数
1
解决办法
7582
查看次数

标签 统计

go ×1

import ×1

undefined ×1