• 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]
    
  • 相关阅读:
    进程提权小结
    进程工作集WorkingSet (PSAPI 01)
    GetSystemInfo 和 GlobalMemoryStatus获取系统信息,内存信息
    C++11智能指针 share_ptr,unique_ptr,weak_ptr用法
    结构体及类对象的内存对齐
    菱形继承问题和虚继承
    TLS反调试
    获取程序目录,模块路径
    docker install for centos7
    docker镜像与容器概念
  • 原文地址:https://www.cnblogs.com/chenjo/p/15312253.html
Copyright © 2020-2023  润新知