Golang 数组笔记

文章介绍了在Go语言中定义数组的四种方式,包括初始化、自定义下标等,并展示了如何遍历数组、通过函数指针修改数组元素以及实现冒泡排序算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4种定义数组的方式

var arr1 [3]int = [3]int{1, 2, 3}
fmt.Printf("arr1类型:%T,值:%v\n", arr1, arr1)
var arr2 = [3]int{4, 5, 6}
fmt.Printf("arr2类型:%T,值:%v\n", arr2, arr2)
var arr3 = [...]string{"tom", "jack", "lily"} // 或者[]string{"tom", "jack", "lily"}
fmt.Printf("arr3类型:%T,值:%v\n", arr3, arr3)
// 自定义下标
arr4 := [...]float64{2: 23.22, 1: 11.11, 0: 4.3}
fmt.Printf("arr4类型:%T,值:%v\n", arr4, arr4)

数组的遍历

for index,value := range array {
}

函数指针修改数组元素的值

package main

import "fmt"

func test(arr *[3](int)) {
    (*arr)[1] = 88
}

func main() {
    arr := [...](int){11, 22, 33}
    test(&arr) // 实参传入引用地址
    fmt.Printf("arr type=%T, value=%v", arr, arr)
}

冒泡排序

package main

import "fmt"

func main() {
    var arr = [...]int{11, 22, 55, 33, 88, 9}
    maxValue := 11
    maxIndex := 0
    for i := 1; i < len(arr); i++ {
        if maxValue < arr[i] {
            maxValue = arr[i]
            maxIndex = i
        }
    }
    fmt.Printf("maxValue=%v, maxIndex=%v\n", maxValue, maxIndex)
}

二维数组定义及遍历

package main

import "fmt"

func main() {
    // 定义二维数组
    var arr = [2][3]int{{1, 2, 3}, {4, 5, 6}}

    // for 循环
    for i := 0; i < len(arr); i++ {
        for j := 0; j < len(arr[i]); j++ {
            fmt.Printf("arr[%v][%v]=%v ", i, j, arr[i][j])
        }
        fmt.Println()
    }

    fmt.Print("----------------------------\n")

    // for range 循环
    for i, v := range arr {
        for j, v2 := range v {
            fmt.Printf("arr[%v][%v]=%v ", i, j, v2)
        }
        fmt.Println()
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值