Go数组遍历与排序

目录

遍历数组

数组排序


遍历数组

go遍历数组有两种方式

1.按照数组下标进行遍历

2.用range遍历

package main

import (
	"fmt"
)

func main() {
    // 声明数组
	array := [...]string{"red", "blue", "yellow"}

    // 方法一:直接用数组下标遍历
	for i := 0; i < len(array); i++ {
		fmt.Printf(array[i] + " ")
	}

	fmt.Println()

    // 方法二:用range遍历
	for _, value := range array {
		fmt.Printf(value + " ")
	}

}

数组排序

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)

}

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在Go语言中,有两种常见的方式可以遍历数组。第一种方式是使用for循环和索引的形式遍历数组。代码示例如下: ``` package main import ( "fmt" ) func main() { arr := [5]int{1, 2, 3, 4, 5} for i := 0; i < len(arr); i++ { fmt.Println(arr[i]) } } ``` 这种方式使用一个循环变量i来表示数组的索引,通过递增i的值来遍历数组元素。在每次循环中,通过`arr[i]`来获取数组中的元素,并进行相应的操作。 第二种方式是使用for range循环来遍历数组。代码示例如下: ``` package main import ( "fmt" ) func main() { arr := [5]int{1, 2, 3, 4, 5} for index, value := range arr { fmt.Println(index, value) } } ``` 这种方式中,for range循环会遍历数组中的每个元素,并将索引和对应的值分别赋给index和value变量。在每次循环中,可以直接使用index和value来操作数组元素。 总结起来,通过for循环加索引和for range循环是两种常见的在Go语言中遍历数组的方式。可以根据具体的需求选择合适的方式来进行数组遍历。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [go语言中遍历数组的方法有哪些](https://blog.csdn.net/yaxuan88521/article/details/129194466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值