Go 数组

目录:

  1. Go中的数组
  2. for 循环遍历数组
  3. 多维数组
Go中的数组

在Go语言中,数组是同一类型元素的集合,而不像python,里面可有多种数据类型。Go语言中不约需混合不同类型的元素,例如包含字符串和整数的数组。
当时interface{}类型的数组,可以包含任意类型

数组的声明

示例:

// [3]表示数组长度,int表示数组内元素类型
var a [3]int=[3]int{1,2,3}
var a =[3]int{1,2,3}
a:=[3]int{1,2,3}
fmt.Println(a)

数组使用
示例:

package main

import "fmt"

func main() {
	a := [3]int{1, 2, 3}
	a[0] = 100
	b := a[0]
	fmt.Println(b)
}

不定长数组(不建议使用)
示例:

package main

import "fmt"

func main() {
	// 指定索引9位置上的元素为1
	a :=[...]int{9:1}
	fmt.Println(a)
	fmt.Println(len(a))
}

数组长度是数组类型的一部分

func main() {
	a := [3]int{1, 2, 4}
	// 当b数组长度更改为3时可以被赋值
	b := [4]int{1, 2, 3}
	b = a
	fmt.Println(b)
}

Go语言中数组是值类型
在这里插入图片描述
python中列表是引用类型

Python 中的深浅复制

在这里插入图片描述

回到目录



for 循环遍历数组

两种方式

  1. 第一种
    package main
    
    import "fmt"
    
    func main() {
    	a:=[3]int{1,2,3}
    	for i:=0;i<len(a);i++{
    		fmt.Println(a[i])
    	}
    }
    
  2. 第二种(常见)
    package main
    
    import "fmt"
    
    func main() {
    	a := [3]int {1, 2, 3}
    	//range 可迭代   如果用一个值接收:就是索引  如果用两个值接收:就是索引和值
    	// 当不想获取索引时,i可以用_代替
    	for i,v:=range a {
    		//fmt.Println(i)
    		fmt.Println(a[i])
    		fmt.Println(v)
    	}
    }
    


多维数组
  • 使用for遍历

    package main
    
    import "fmt"
    
    func main() {
    	// 定义二维数组,第一层索引为2的初始值为[4 4 4]
    	a := [5][3]int{2: {4, 4, 4}}
    	fmt.Println(a)
    
    	for i := 0; i < len(a); i++ {
    		for j := 0; j < len(a[i]); j++ {
    			fmt.Println(a[i][j])
    		}
    	}
    }
    
  • 使用for range遍历

    package main
    
    import "fmt"
    
    func main() {
    	a := [5][3]int{2: {4, 4, 4}}
    	fmt.Println(a)
    
    	for _, v := range a {
    		for _, v1 := range v {
    			fmt.Println(v1)
    		}
    	}
    }
    

回到目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值