• go语言 类型:数组


    在go语言中数组array是一组特定长度的有序的元素集合。

    go的数组类型由两部分组成——类型和长度,二者缺一不可。数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定其存储元素的类型以及存储多少个元素。

    在Go语言中,数组长度在定义后就不可更改

    数组是值类型,每次传递都将产生一份副本。

    例子: 

    package main
    
    import (
    	"fmt"
    	"strconv"
    )
    
    func main() {
    	var a [5]int           //定义数组 5个整数型
    	fmt.Println("emp:", a) //整数型零值为0
    
    	a[4] = 100 //修改数组
    	fmt.Println("set:", a)
    	fmt.Println("get:", a[4]) //输出单个值
    
    	fmt.Println("len:", len(a)) //数组长度
    
    	b := [5]int{45, 32, 12, 42, 55} //定义数组 定义数组的值
    	fmt.Println("dcl:", b)
    
    	for z, y := range b { //遍历数组
    		fmt.Println("ran:", z, y)
    	}
    
    	var twoD [2][3]string    //二维数组
    	for i := 0; i < 2; i++ { //循环
    		for j := 0; j < 3; j++ {
    			twoD[i][j] = strconv.Itoa(i) + "-" + strconv.Itoa(j) //修改数组
    		}
    	}
    	fmt.Println("2d: ", twoD)
    }
    

    输出:

    emp: [0 0 0 0 0]
    set: [0 0 0 0 100]
    get: 100
    len: 5
    dcl: [45 32 12 42 55]
    ran: 0 45
    ran: 1 32
    ran: 2 12
    ran: 3 42
    ran: 4 55
    2d:  [[0-0 0-1 0-2] [1-0 1-1 1-2]]
    

    数组几种初始化方式:

    var a [10]int
    
    var a = [10]int{0,1,2,3,4,5,6,7,8,9}
    var a = [...]int{0,1,2,3,4,5,6,7,8,9}
    
    var a = [2][2]int{[2]int{1,1}, [2]int{2,2}}
    var a = [2][2]int{{1,1}, {2,2}}
    

      

  • 相关阅读:
    1+x LNMP + WordPress
    1+X Samba
    1+X NFS
    1+x FTP
    1+x LVM
    笔记(全)
    前端性能优化整理总结
    Event Loop我知道,宏任务微任务是什么鬼?
    深入探讨深拷贝浅拷贝两兄弟
    react后台管理系统路由方案及react-router原理解析
  • 原文地址:https://www.cnblogs.com/osfipin/p/4871237.html
Copyright © 2020-2023  润新知