• 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]
    
  • 相关阅读:
    Assimp对FBX文件中geometric transformations的处理
    VSM
    WSL安装
    [p1880][NOI1995]石子合并
    【日常】集训总结
    【模板】背包
    【济南集训】20191006解题报告
    [P1516]青蛙的约会
    【模板】ST表
    【济南集训】20191001解题报告
  • 原文地址:https://www.cnblogs.com/chenjo/p/15312253.html
Copyright © 2020-2023  润新知