golang语言学习第七课:数组

Posted golangxiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang语言学习第七课:数组相关的知识,希望对你有一定的参考价值。

go语言中,定义数组有3种方法:

//定义数组的3种方法

     var arr1 [5]int   //必须在[]中填入数组的大小,如果不填则不是数组,而是切片

     arr2 := [3] int {1,3,5}  //第二种定义数组的方法,只能在函数体内用,必须给初始值。
     arr3 := [...] int {2,4,6,8,10}  //第三种,让编译器去计算个数的方法。
 var grid [4][5]int   //定义一个2维数组,4行5列,从前往后读,4个东西,4个什么东西呢,4个长度为5的int数组
     //go语言支持2维或多维数组

遍历数组也有2种方法:

具体看完整的练习代码吧:

package main

import "fmt"

func main() {
     //定义数组的3种方法

     var arr1 [5]int   //必须在[]中填入数组的大小,如果不填则不是数组,而是切片

     arr2 := [3] int {1,3,5}  //第二种定义数组的方法,只能在函数体内用,必须给初始值。
     arr3 := [...] int {2,4,6,8,10}  //第三种,让编译器去计算个数的方法。

     fmt.Println(arr1, arr2, arr3)

     var grid [4][5]int   //定义一个2维数组,4行5列,从前往后读,4个东西,4个什么东西呢,4个长度为5的int数组
     //go语言支持2维或多维数组
     fmt.Println(grid)


     //遍历数组的第一个方法,不常用
     for i:=0; i<len(arr3); i++ {
         fmt.Print(arr3[i])
     }

     //遍历数组的第2种方法,也是最常用的方法:
     for k:= range arr3 {
         fmt.Println(k)
         fmt.Println("----------")
    }

    for _,v:= range arr3 {   //注意:range不要打错成rang,少打字母e
        fmt.Println(v)
        fmt.Println("+++++++++++")
    }
    for k,v:= range arr3 {
        fmt.Println(k,v)
    }
}

 需要注意的是: go语言中, 数组是值类型,不会对原始数组里的数据做出修改,只是简单的拷贝。

另外需要注意的是: 

[10]int 和 [20]int 是不同的类型

调用 func f(arr [10]int) 会拷贝数组,不会改变数组里面的值, go语言中函数参数传递就一种方法:值传递,如需改变数组里的值,可以用指针。

 在go语言中一般不直接使用数组,而是使用Slice切片

以上是关于golang语言学习第七课:数组的主要内容,如果未能解决你的问题,请参考以下文章

Golang✔️走进 Go 语言✔️ 第七课 字符串

微搭低代码零基础入门课(第七课)

Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化”

第七课 课程学习小问答

Scrapy学习第七课

学习linux第七课!