go语言基础之切片做函数参数
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]

浙公网安备 33010602011771号