首页 > 技术文章 > go:同一个package下不同方法相互调用

jinziguang 2020-08-11 20:16 原文

一个包下只能有一个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

 

推荐阅读