美文网首页
go 语言 数组声明与切片

go 语言 数组声明与切片

作者: 杀杀神者 | 来源:发表于2018-09-26 10:50 被阅读0次

声明数组语法  var a = [10]int{}  长度[]+类型+{} 等于 一个数组的声明 ,如果数组里面的值没有 10 个的话  少的位置 int类型用0填充  

string类型用空白填充

package main

import ("fmt")

func main() {

a := [9]int{1,2,3,4,5,6}

b := [9]string{"1","2","3","4","5","6"}

fmt.Println(a) //[1 2 3 4 5 6 0 0 0]

fmt.Println(b) //[1 2 3 4 5 6  ]

}

每个数组的大小都是固定的。而切片则为数组元素提供动态大小的、灵活的视角。在实践中,切片比数组更常用。

语法: a := [9]int{1,2,3,4,5,6}

        var b []int = a[0:5]  //必须是var 声明 切片通过两个下标来界定,即一个上界和一个下界,二者以冒号分隔:a[low : high]

package main

import ("fmt")

func main() {

a := [9]int{1,2,3,4,5,6,7,8,9}

var b []int = a[0:5]

fmt.Println(b)

}

切片并不存储任何数据,它只是描述了底层数组中的一段。

更改切片的元素会修改其底层数组中对应的元素。

package main

import ("fmt")

func main() {

a := [9]int{1,2,3,4,5,6,7,8,9}

var b []int = a[1:5]

b[0]=66

fmt.Println(b)  //[66 3 4 5]

fmt.Println(a) //[1 66 3 4 5 6 7 8 9]

}

切片后的数组下标重新定义了一下 所以上述的 b[0]的值的位置其实是a[1]的值的位置

进行切片时,你可以利用它的默认行为来忽略上下界

切片下界的默认值为 0,上界则是该切片的长度。

var a [10]int

a[0:10]

a[:10]

a[0:]

a[:]

都是一样的

相关文章

  • go 语言 数组声明与切片

    声明数组语法 var a = [10]int{} 长度[]+类型+{} 等于 一个数组的声明 ,如果数组里面的值没...

  • Go 切片和数组

    数组 go创建数组和 c 语言类似,有如下两种方式: 切片 切片声明和数组类似,只是没有传递长度 创建二维切片,并...

  • Go语言切片

    // //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中...

  • go语言数组、切片、映射

    go的一些语法有点晦涩,这些很基础,做一下笔记 数组 数组声明 数组声明初始化 切片 切片的声明 切片的追加 切片...

  • GO语言入门第二节 GO语言常用数据结构

    Go 语言常用数据结构 1. 数组和切片 数组数组的声明//声明一个长度是3的数组,初始话为0值var a [3]...

  • 七、Go切片

    七、Go语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就...

  • GO语言语法学习进度(6)

    1.GO语言切片 ①定义切片 可以使用声明未指定大小的数组的方法来定义切片,而切片的定义。而切片的定义往往由mak...

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • Go每日精选(2019-06-14)- 基础部分

    1. Go语言的传参和传引用 2. PHP转Go系列:数组与切片 3. Golang 入门 : channel(...

  • 八、Go range的用法

    八、Go语言range Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slic...

网友评论

      本文标题:go 语言 数组声明与切片

      本文链接:https://www.haomeiwen.com/subject/dccdoftx.html