zoukankan      html  css  js  c++  java
  • go语言数组

    go 语言数组

    go语言的数组只能存储同一种数据类型,数组必须制定它的数据的存储类型和存储数据的长度。

    声明数组
    package main
    
    import "fmt"
    
    func main() {
    
    	// 零值声明
    	var list1 [3]int
    	fmt.Println(list1) // [0 0 0]
    
    	// 用...自己声明数组的长度
    	var list2 = [...]string{"a", "b", `c`}
    	fmt.Println(list2) // [a b c]
    	// 让数组自定来判断数组的长度时,当前的数组必须有值
    
    	// 使用索引的方式来初始化
    	var list3 = [...]int{0: 2, 5: 3}
    	fmt.Println(list3) // [2 0 0 0 0 3]
    
    	// 当初始化的值没有全部制定时候,剩下的全部用数组存储类型的0值来代替
    	var list4 = [10]int{1, 3, 4}
    	fmt.Println(list4) // [1 3 4 0 0 0 0 0 0 0]
    
    	// 多维数组
    	var list5 = [...][3]int{{1}, {2, 3}, {2, 2, 2}}
    	fmt.Println(list5) // [[1 0 0] [2 3 0] [2 2 2]]
    	// 多维数组只有外层才可以使用...来自动判断数组的长度
    }
    
    

    数组的操作

    数组的长度是确定的,数组来声明的时候如果没有完全确定成员的数组,那么没有确定的值将使用当前数组存储的数据类型的零值来代替,所以数组是不支持增加和删除的操作的

    package main
    
    import "fmt"
    
    func main() {
    	var list = [3]int{}
    	fmt.Println(list) // [0 0 0]
    
    	// 数组根据下标来修改
    	list[1] = 3
    	fmt.Println(list) // [0 3 0]
    
    	// 数组根据下表取值
    	item := list[1]
    	fmt.Println(item) // 3
    }
    
    

    数据的遍历

    package main
    
    import "fmt"
    
    func main() {
    	var list = [...] int {1,2,3,5,7}
    
    	for i:=0;i<len(list);i++ {
    		fmt.Println(list[i])
    	}
    }
    

    数组是值类型,当一个数组被当成参数传递到函数中的时候,函数内部使用的是数组的副本

  • 相关阅读:
    C++中unique函数的用法总结
    洛谷P1039侦探推理题解
    洛谷P1040 加分二叉树题解
    洛谷P1038 神经网络题解
    emmm
    biiset用法
    浅谈接口与抽象类的区别
    递归调用——数学观点看递归
    反转字符串
    SQL 时间戳转DateTime类型
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/12643959.html
Copyright © 2011-2022 走看看