遍历数组
Go遍历数组有两种方式
1.按照数组下标进行遍历
2.用range遍历
package main
import (
"fmt"
)
func main() {
// 声明数组
array := [...]string{"red", "yellow", "blue"}
// 方法一:直接用数组下标遍历
for i := 0; i < len(array); i++ {
fmt.Printf(array[i] + " ")
}
fmt.Println()
// 方法二:用range遍历
for _, value := range array {
fmt.Printf(value + " ")
}
}
输出:
red yellow blue
red yellow blue
数组排序
go分别提供了sort.Float64s() sort.Strings() sort.Ints() 对不同类型的数组进行排序,默认是升序。
降序需要使用sort.Reverse
package main
import (
"fmt"
"sort"
)
func main() {
arrayInt := []int{3, 1, 2, 5, 4}
arrayFloat := []float64{3.2, 1.8, 1.9, 2.2, 4.3}
arrayString := []string{"abc", "ab", "bc"}
// 升序
sort.Ints(arrayInt)
sort.Float64s(arrayFloat)
sort.Strings(arrayString)
fmt.Println("sort int:", arrayInt)
fmt.Println("sort float:", arrayFloat)
fmt.Println("sort ", arrayString)
// 降序
sort.Sort(sort.Reverse(sort.IntSlice(arrayInt)))
sort.Sort(sort.Reverse(sort.Float64Slice(arrayFloat)))
sort.Sort(sort.Reverse(sort.StringSlice(arrayString)))
fmt.Println("After reversed: ")
fmt.Println("sort int:", arrayInt)
fmt.Println("sort float:", arrayFloat)
fmt.Println("sort ", arrayString)
}
输出:
sort int: [1 2 3 4 5]
sort float: [1.8 1.9 2.2 3.2 4.3]
sort [ab abc bc]
After reversed:
sort int: [5 4 3 2 1]
sort float: [4.3 3.2 2.2 1.9 1.8]
sort [bc abc ab]