遍歷數組
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]