go - 同一包中的功能未定义

标签 go

我的项目结构是这样的。

packagetest/
    main.go
    lib.go

main.go 中,我有这段代码。

package main

import "fmt"

func main() {
    fmt.Println("Hello from main.go.")
    Test()
}

lib.go 中,我有这段代码。

package main

import "fmt"

func Test() {
    fmt.Println("This is the Test function in lib.go.")
}

当我尝试使用 go build main.go 进行编译时,我得到 ./main.go:7: undefined: Test。这种构造我的代码的方式可行吗?

最佳答案

尝试运行 go build。当你给它一个 go 文件作为参数时,它不会寻找其他 go 文件。你也可以做 go build *.go

关于go - 同一包中的功能未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25171409/

相关文章:

go - 没有实例的 TypeOf 并将结果传递给函数

go - 为什么使用自定义 log.Logger 记录到文件会失败?

go - 尝试停止创建更多 goroutine 时出现 panic

performance - 如何在映射带有子 slice 的结构时降低时间复杂度?

algorithm - 计算 Go 中给定字符串中句子中的最大单词数

struct - 在将它作为接口(interface)传递并运行它的方法后,让你将结构恢复为它的数据类型?

Golang 文档函数参数

scala - OCaml、Scala 和 Go 的结构类型实现

oop - Go 的接口(interface)编程模型与 OOP 相比如何?

for-loop - 如果 panic 发生,恢复并继续 for 循环 Golang