美文网首页
Go语言学习之——数组

Go语言学习之——数组

作者: 星空_ad64 | 来源:发表于2018-04-10 20:28 被阅读0次

1、基础

var arr1 [5]int
arr2 := [3]int{1, 3, 5}
arr3 := [...]int{2, 4, 6, 8} //编译器来数到底有多少个
var grid [4][5]int

2、数组遍历

package main
​
import "fmt"
​
func main() {
    var arr1 [5]int
    arr2 := [3]int{1, 3, 5}
    arr3 := [...]int{2, 4, 6, 8} //编译器来数到底有多少个
    var grid [4][5]int //初始值为0
​
    for i:=0; i< len(arr3); i++ {
        fmt.Println(arr3[i])
    }
    //使用range遍历
    for i:=range arr3{
        fmt.Println(arr3[i])
    }
    //range可以返回两个值,下标和值
    for i,v := range arr3{
        fmt.Println(i,v)
    }
    //省略下标
    for _,v := range arr3{
        fmt.Println(v)
    }
}

3、数组作为函数参数时,会拷贝数组,值类型

package main
​
import "fmt"
​
//arr [5]int确定了数组长度
func printArray( arr [5]int ){
    arr[0] = 100
    for i,v := range arr{
        fmt.Println(i,v)
    }
}
​
func main() {
    var arr1 [5]int
​
    printArray(arr1)
    fmt.Println(arr1)
}

printArray(arr1)的output:
0 100
1 0
2 0
3 0
4 0
fmt.Println(arr1)的output:
[0 0 0 0 0]
可以看出,函数内改变数组值,并不影响函数外数组


4、也可以把数组地址作为参数,那么函数内修改数组值,函数外也会变,一般不用(一般会使用切片)

package main

import "fmt"

//arr [5]int确定了数组长度
func printArray( arr *[5]int ){
    arr[0] = 100 //比较灵活,不需要写 *
    for i,v := range arr{
        fmt.Println(i,v)
    }
}

func main() {
    var arr1 [5]int
    
    printArray(&arr1)
    fmt.Println(arr1)
}

相关文章

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • 笨办法学golang(四)

    这是Go语言学习笔记的第四篇 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 数组 数组是指一系列同类...

  • Go语言学习之——数组

    1、基础 2、数组遍历 3、数组作为函数参数时,会拷贝数组,值类型 printArray(arr1)的output...

  • Go语言探索 - 10(原创)

    上一篇文章主要学习了Go语言的结构体以及结构体指针,本篇文章主要学习Go语言的切片以及Map。 Go语言数组的长度...

  • Go语言切片

    // //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中...

  • 11-Go语言数组和切片-指趣学院

    数组 和C语言一样,Go语言中也有数组的概念, Go语言中的数组也是用于保存一组相同类型的数据 和C语言一样,Go...

  • Go语言探索 - 9(原创)

    Go语言基础系列博客用到的所有示例代码 在上一篇文章主要学习了Go语言中的数组、指针数组以及二级指针,本篇文章主要...

  • Go 语言学习之数组 字典

    仰天长笑出门去,我辈岂是蓬蒿人 前言 在学习了Go语言中的变量常量之后,紧接着就是我们程序中最常用的数组和字典了,...

  • go语言array, slice, map(四)

    array go语言数组,定义方法如下: var arr [n]type 声明方法 go语言也支持多维数组 sli...

  • Go学习随笔(三)

    Go语言数组 var 数组名 [数组长度]元素类型{初始化元素} Go语言中数组内部元素默认初始化为0 var 数...

网友评论

      本文标题:Go语言学习之——数组

      本文链接:https://www.haomeiwen.com/subject/eaznhftx.html