golang 同一个包下不同文件之间函数调用问题

作者: JONE 分类: 编程 发布时间: 2022-07-15 10:02

main.go

package main

import "fmt"

func main() {
    fmt.Println(add(1, 3))
}

func.go

package main

func add(a int, b int) int {
    return a + b
}

运行

go run main.go
# command-line-arguments
.\main.go:6:14: undefined: add

go run main.go,只编译了main.go,并未编译func.go,所以会报add函数未定义

1、可使用go run . 来编译执行目录下的所有go文件。

2、在vscode中,可以设置go.runner解决:

"code-runner.executorMap": {
"go": "cd $dir && go run .",
}