// 从数组中,选出最小的K个数据,并升序排列成数组 funcGetMinK(k int, src []int)[]int{ if k >len(src){ panic(fmt.Errorf("min k must smaller than src length, but got k '%d', src.len '%d'", k,len(src))) } var tmp int for i :=0; i < k; i{ for j := i 1; j <len(src); j{ if src[i]> src[j]{ tmp = src[i] src[i]= src[j] src[j]= tmp } } } return src[:k] } // 从数组中,选取了最小的4个 // 输出 [1 2 3 3] funcTestGetMinK(t *testing.T){ rs :=GetMinK(4,[]int{1,3,4,5,6,12,3,2,15,199}) fmt.Println(rs) }