28_切片做函数参数的使用

和数组不同,切片做函数参数是引用传递,下面通过一个冒泡排序来具体验一下

代码如下:

package main

import (
	"fmt"
	"math/rand"
	"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) {
	for i := 0; i < len(s); i++ {
		for j := 0; j < len(s)-i-1; j++ {
			if s[j] > s[j+1] {
				s[j], s[j+1] = s[j+1], s[j]
			}
		}
	}
}

func main() {

	s := make([]int, 10)
	InitData(s)
	fmt.Println("原来的序列为:", s)
	BubbleSort(s)
	fmt.Println("新的序列为:", s)

}


每天的价值就是不停息的前进!!!
原文地址:https://www.cnblogs.com/zhaopp/p/11486832.html