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

无法从同一目录中的文件导入函数

无法从同一目录中的文件导入函数

Go
红糖糍粑 2022-09-19 21:10:13
我正在遵循教程并坚持这一点。我也试图通过官方文档,但无法发现这是错误的。在这里发布之前,我发现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*


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

添加回答

举报

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