zoukankan      html  css  js  c++  java
  • 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]
    
  • 相关阅读:
    MySQL5.6 community从下载到安装
    SVN使用
    VIsualSVN server 安装及旧仓库导入
    在VisualSVN创建新的Repository
    MFC用PostMessage传递消息
    Postgresql命令行和数据库备份与恢复
    makefile复习时发现的编写makefile规则注意事项
    js IDE WebStorm 注册码
    mysql学习笔记之基础篇
    c++继承详解
  • 原文地址:https://www.cnblogs.com/chenjo/p/15312253.html
Copyright © 2011-2022 走看看