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])
    	}
    }
    

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

  • 相关阅读:
    原生化:AnDevCon 2014 McVeigh 的主题演讲
    MVC 5 App 通过 Facebook OAuth2 登陆(Sign-on)的问题
    MVC 5 第三章 HTML Helper
    Node.js 初探
    MVC 5 第二章 项目结构
    MVC 5 第一章 起航
    新的开始
    Xcode开发如何在调试时轻松找到程序在哪里崩溃?
    100个直接可以拿来用的JavaScript实用功能代码片段(转)
    js得到当前页面的url信息方法(JS获取当前网址信息)
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/12643959.html
Copyright © 2011-2022 走看看