Go

区块链 go语言数据类型——数组(array)

2018-01-16  本文已影响68人  ze__lin
1. 数组简介

同一个数组里面只能存放同一种类型的数据;每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。
[1,3,5,6,7,8] numbers
len(numbers) 长度 6
cap(numbers) 容量
numbers[3] 读取对应索引的数据
数组里面的数据:1.有序 2.可重复
集合:1.无序 2. 不可重复


2.数组的初始化的歌各种方式
//创建数组(声明长度)
var numbers = [5]int{1, 3, 5, 6, 8}
var numbers = [5]int{}
var nums [5]int //[0,0,0,0,0]
var names [89][101]string
nums := [5]int{2, 6, 9, 1, 10}

//创建数组(声明长度),并仅初始化其中的部分元素
var nums = [5]int{1: 2, 3: 6} //[0,2,0,6,0]

//创建数组(不声明长度)
var array2 = [...]int{6, 7, 8}

//创建数组切片
mySlice := []int{1, 3, 5, 7, 9, 11}

    mySlice := make([]int, 3, 3)

// mySlice := [3]int{}  //长度不可变,容量不可变

// mySlice := []int{0,0,0}

//创建数组(不声明长度),并仅初始化其中的部分元素,数组的长度将根据初始化的元素确定
var array5 = [...]string{3: "Tom", 2: "Alice"}

//创建数组切片,并仅初始化其中的部分元素,数组切片的len将根据初始化的元素确定
var array6 = []string{4: "Smith", 2: "Alice"}


3数组长度与容量

package main

import "fmt"

func main() {
// 如果一个可变的数组容量不够使用的时候,容量翻倍

mySlice := []int{1, 2, 3, 4, 5, 6}
myOtherSlice := []int{7, 8, 9, 10, 11}
// myOtherSlice... 表示把myOtherSlice里面的所有

// 内容一一添加到mySlice里面,...是一种语法
mySlice = append(mySlice, myOtherSlice...)

fmt.Println(mySlice)
fmt.Println(len(mySlice))
fmt.Println(cap(mySlice))

}

输出为:
[1 2 3 4 5 6 7 8 9 10 11]
11
12

上一篇 下一篇

猜你喜欢

热点阅读