Go 从另一个文件调用函数

Go 从另一个文件调用函数,go,Go,在我的目录/go/src/lodo中有两个文件,main.go和uniquelement 去吧 package main import "fmt" func unique(a []int) { var value int for i:= range a { value = value ^ a[i] } fmt.Println(value) } 梅因,加油 package main func main() { var a = [

在我的目录
/go/src/lodo
中有两个文件,main.go和uniquelement

去吧

package main

import "fmt"

func unique(a []int) {
    var value int

    for i:= range a {
        value = value ^ a[i]

    }
    fmt.Println(value)

}
梅因,加油

package main

func main() {
    var a = []int{1, 4, 2, 1, 3, 4, 2}


    unique(a[0:])
}
我犯了一个错误

./main.go:7: undefined: unique

如何从
main
正确调用unique?

您可能使用只编译和运行
main.go
go-run-main.go
运行代码,尝试运行
go-run-main.go-uniquelement.go
或构建并运行生成的二进制文件

将名称从
unique
更改为
Unique

以下代码适合我:

//module github.com/go-restful/article

package article

func IndexPage(w http.ResponseWriter, r *http.Request) {}
必须导出此函数,大写,并添加注释

main.go中的用法

//module github.com/go-restful

package main

import (article "github.com/go-restful/article")

func handleRequests() {
    myRouter := mux.NewRouter().StrictSlash(true)
    myRouter.HandleFunc("/", article.IndexPage)
}

这些文件在同一个包中,因此他能够访问未报告的函数,或者更好的是:
go run*.go
以包含allTrue,除非您有其他具有冲突函数名的go文件,通常是另一个具有
main()
函数的文件