同一个包里面,不同文件之间,不需要 import,直接用就好。不同包的话,需要引用包,只能使用大写字母开头的方法 ,变量 等等,小写子母开头的只能包内使用。
简单来说 :大写字母开头的变量,方法暴露给其他包用的,包内的话可以随便引用
示例:
main.go
package main
import (
"fmt"
"function"
)
func main() {
fmt.Println("main executed")
function.Test()
function.Test2()
}
function/function.go
package function
import "fmt"
var aa = 100
func Test() {
x := min(1, 3, 2, 0)
fmt.Printf("The minimum is: %d\n", x)
slice := []int{7, 9, 3, 5, 1}
x = min(slice...)
fmt.Printf("The minimum in the slice is: %d\n", x)
}
func min(s ...int) int {
if len(s) == 0 {
return 0
}
min := s[0]
for _, value := range s {
if value < min {
min = value
}
}
return min
}
function/function2.go
package function
import "fmt"
func Test2() {
x := min(1, 3, 2, 0)
fmt.Printf("The minimum is: %d\n", x)
}