包(package)是函数和数据的集合,类似android的jar或者C中的库,
我们创建一个包含冒泡排序算法的包 │ exp6.go └─algorithms bubble.go 其中 exp6.go 是测试包的程序,algorithms/bubble.go 是包程序 exp6.go 代码如下:
package main import ( "fmt" "github.com/panyingyun/gostudy/algorithms" ) func main() { s := []int{10,5,6,3} fmt.Println(s) bubble.Sort(s) fmt.Println(s) }
bubble.go代码如下:
//bubblesort.go package bubble func Sort(values []int) { flag := true for i := 0; i < len(values)-1; i++ { flag = true for j := 0; j < len(values)-i-1; j++ { if values[j] > values[j+1] { values[j],values[j+1] = values[j+1],values[j] flag = false } } if flag == true { break } } }
包中的导出函数必须以大写字母开头,这样引用这个包的文件才能访问这个函数 具体运行是,切换到algorithms,运行 go install, 然后再go run exp6.go 即可