Go基础知识学习(4)包

包(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 即可

代码:
https://github.com/panyingyun/gostudy

你可能感兴趣的:(包,package,golang)