html tool

2019年9月24日星期二

golang array的定义和引用


 1 package main
  2 import "fmt"
  3     
  4 func qsort(data []int) {
  5     if len(data) <= 1 {
  6         return
  7     }
  8     mid := data[0]
  9     head, tail := 0, len(data)-1
 10     for i := 1; i <= tail; {
 11         if data[i] > mid {
 12             data[i], data[tail] = data[tail], data[i]
 13             tail--
 14         } else {
 15             data[i], data[head] = data[head], data[i]
 16             head++
 17             i++
 18         }
 19     }
 20     qsort(data[:head])
 21     qsort(data[head+1:])
 22 }   
 23     
 24 func main(){
 25     var arr = [...]int{1, 4, 8, 2, 55, 3, 4, 8, 6, 4, 0, 11, 34, 90, 23, 54, 77, 9, 2, 9, 4, 10};
 26     fmt.Println(arr)  //[popexizhi: 这个用%v,%s 很奇怪的效果可以试试啊:)]
 27     qsort(arr[:]) //[popexizhi: 这个是不一样之处,type *[22]int 和 type []int 不是一个类型的 ,
这里形参定义使用 []int ,调用时确定长度的数组要使用 arr[:] ]
 28     fmt.Println(arr)
 29 }   

参考:http://shouce.jb51.net/golang-doc/20.html

没有评论:

发表评论