一个包下只能有一个go文件有main()方法。在一个包下会有多个go文件,需要在一个go文件中调另一个go文件的方法,示例如下:
文件:/path/file1.go
package main import "fmt" func test(){ fmt.Println("xxx") }
文件:/path/file2.go
package main
func main(){
test()
}
如果直接执行file2.go会报错,提示test()找不到,如:>>>undefined: test
原因:执行file2.go时未一起编译file1.go,所以报错
解决:先一起编译,再执行,如:
先go build .
再go run file1.go file2.go
或者直接go run *.go