我正在遵循教程并坚持这一点。我也试图通过官方文档,但无法发现这是错误的。在这里发布之前,我发现GOPATH也需要配置。走道: A:\GO实用程序文件夹的路径:A:\GO\fem-intro-to-go\05_toolkit\代码\utils有 2 个文件在 utils, 数学.go 和 add_test.go.数学.gopackage utilsimport "fmt"func printNum(num int) { fmt.Println("Current Number:", num)}// Add adds together multiple numbersfunc Add(nums ...int) int { total := 0 for _, v := range nums { printNum(v) total += v } return total}add_testpackage utilsimport "testing"func TestAdd(t *testing.T) { expected := 4 actual := Add(2, 2) if actual != expected { t.Errorf("Add function does not add up: Expected: %d, Actual: %d", expected, actual) }}VS 代码在 add_test.go 中给出错误:未声明的名称:添加错误的完整描述:{ "resource": "/a:/GO/fem-intro-to-go/05_toolkit/code/utils/add_test.go", "owner": "_generated_diagnostic_collection_name_#1", "code": { "value": "UndeclaredName", "target": { "$mid": 1, "external": "https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source%3Dgopls#UndeclaredName", "path": "/golang.org/x/tools/internal/typesinternal", "scheme": "https", "authority": "pkg.go.dev", "query": "utm_source=gopls", "fragment": "UndeclaredName" } }, "severity": 8, "message": "undeclared name: Add", "source": "compiler", "startLineNumber": 9, "startColumn": 12, "endLineNumber": 9, "endColumn": 15}
1 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
在使用go 1.16.6构建代码时,我没有看到您的代码有任何问题。如果我开始一个新的go项目:
mkdir example
cd example
go mod init example
然后将代码放在目录中,并将以下内容放在 :utils/main.go
package main
import (
"example/utils"
"fmt"
)
func main() {
answer := utils.Add(1, 2, 3)
fmt.Printf("got answer: %d\n", answer)
}
因此,我有以下布局:
$ tree .
.
├── example
├── go.mod
├── main.go
└── utils
├── add_test.go
└── math.go
您的代码编译时出现问题:
$ go build
我运行生成的二进制文件:
$ ./example
Current Number: 1
Current Number: 2
Current Number: 3
got answer: 6
我想指出的是,我还没有设置或任何其他环境变量来使它工作。GOPATHGO*
- 1 回答
- 0 关注
- 64 浏览
添加回答
举报
0/150
提交
取消