Go數組遍歷與排序


遍歷數組

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]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM