【问题标题】:How to access another function of package main in another file? [duplicate]如何在另一个文件中访问包 main 的另一个功能? [复制]
【发布时间】:2019-01-04 12:09:52
【问题描述】:

这是我的文件树:

.
├── float.go
└── main.go

main.go:

package main

func main(){
    Float()
}

float.go:

package main

import "fmt"

func Float(){
    fmt.Println( "hello world")
}

当我尝试编译 main.go 时,它会抛出一个错误

命令行参数 ./main.go:4:2: undefined: Float

为什么我不能使用相同包的另一个文件中定义的函数?

【问题讨论】:

  • 如果你将你的main 包分解成多个文件,你必须在运行时列出所有文件:go run main.go float.go
  • 正如@icza 提到的,当您有多个文件时尝试运行go run *.go
  • go run is a toy。一旦你有一些重要的东西(并且一个包含多个源文件的包符合条件),你应该切换到go build 或`go install`。

标签: go


【解决方案1】:

由于包main 被拆分为多个文件,因此您必须在构建时将所有文件传递给 go 编译器。

你也可以一一列举

go run main.go float.go 

或者你可以

go run *.go

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-28
    • 2011-01-19
    相关资源
    最近更新 更多