• 欢迎访问 YZBTDIY!
  • 本站启用 TLS 加密!
  • 站点优化使用 WPJAM 的插件,万分感谢!

golang 数组

每日一GO admin 2周前 (06-05) 24次浏览 0个评论

code

package main

import (
    "fmt"
)

// func printArray(arr [5]int) {
//go 语言参数传递只有值传递,会拷贝整个数组,go 语言一般不直接使用数组,使用切片较多
//大部分语言是函数是引用传递,数组的的值可以改变,go 语言是特例,可以使用指针 go 修改数组
func printArray(arr *[5]int) {
    arr[0] = 100
    for i, v := range arr {
        fmt.Println(i, v)
    }
}

func useArray() {
    var arr1 [5]int
    arr2 := [3]int{1, 3, 5}
    arr3 := [...]int{2, 4, 6, 8, 10}
    var grid [4][5]int

    fmt.Println(arr1, arr2, arr3)
    fmt.Println(grid)

    //使用 for 遍历数组
    // for i := 0; i < len(arr3); i++ {
    //  fmt.Println(arr3[i])
    // }

    //使用 range 遍历数组
    // for i := range arr3 {
    //  fmt.Println(arr3[i])
    // }

    // for i, v := range arr3 {
    //  fmt.Println(i, v)
    // }

    // for _, v := range arr3 {
    //  fmt.Println(v)
    // }

    fmt.Println("printArray(arr1)")
    // printArray(arr1)
    printArray(&arr1)
    fmt.Println("printArray(arr3)")
    // printArray(arr3)
    printArray(&arr3)
    fmt.Println("arr1 , arr3")
    fmt.Println(arr1, arr3)
}

func main() {
    useArray()
}

result

[0 0 0 0 0] [1 3 5] [2 4 6 8 10]
[[0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0] [0 0 0 0 0]]
printArray(arr1)
0 100
1 0
2 0
3 0
4 0
printArray(arr3)
0 100
1 4
2 6
3 8
4 10
arr1 , arr3
[100 0 0 0 0] [100 4 6 8 10]

YZBTDIY , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:golang 数组
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址