首页 > 编程语言 > 详细

Go数组遍历与排序

时间:2021-09-21 01:01:46      阅读:5      评论:0      收藏:0      [点我收藏+]

遍历数组

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]

Go数组遍历与排序

原文:https://www.cnblogs.com/chenjo/p/15312253.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!