go语言基础之切片做函数参数

时间:2022-11-28 22:55:42

1、切片做函数参数 (备注:用了冒泡排序)

示例:

package main //必须有个main包

import "fmt"
import "math/rand"
import "time" func InitData(s []int) {
//设置种子
rand.Seed(time.Now().UnixNano()) for i := 0; i < len(s); i++ {
s[i] = rand.Intn(100) //100以内的随机数
}
} //冒泡排序
func BubbleSort(s []int) {
n := len(s) for i := 0; i < n-1; i++ {
for j := 0; j < n-1-i; j++ {
if s[j] > s[j+1] {
s[j], s[j+1] = s[j+1], s[j]
}
}
}
} func main() {
n := 10 //创建一个切片,len为n
s := make([]int, n) InitData(s) //初始化数组
fmt.Println("排序前: ", s) BubbleSort(s) //冒泡排序
fmt.Println("排序后: ", s)
}

执行结果:

排序前:  [91 20 62 5 47 51 97 54 72 18]
排序后: [5 18 20 47 51 54 62 72 91 97]