美文网首页
study_go_day3 数组

study_go_day3 数组

作者: 无风起个浪 | 来源:发表于2019-03-08 21:12 被阅读0次

package main

import "fmt"

/**数组

* 定义数组数量在前类型在后

* 可以通过[...]来让编译器帮数有多少个

* 数组是值类型

* [5]int 和 [6]int是不同类型

* 调用func printArray(arr [5]int)会拷贝,go语言是值传递

* go语言中一般不直接使用数组,go语言使用的是slice

*/

func  arrays()  {

var arr [5]int

arr1 := [3]int{1,2,3}

arr2 := [...]int{1,2,3,4,5,6}

fmt.Println(arr,arr1,arr2)

var grid [4][5]int//二维数组,表示有4行5列

  fmt.Println(grid)

//遍历数组,普通方法

  for i :=0;i < len(arr2) ;i++  {

fmt.Println(i,arr2[i])

}

fmt.Println("range")

//使用range关键字

  for i,v :=range arr2 {

fmt.Println(i,v)

}

fmt.Println("_____")

//"_"跳过某一个值

  for _,v :=range arr2 {

fmt.Println(v)

}

fmt.Println("只取下标")

//只取下标

  for i :=range arr1 {

fmt.Println(i)

}

}

//数组是值类型

func printArray(arr [5]int)  {

arr[0] =100

  for _,v :=range arr {

fmt.Println(v)

}

}

//通过指针改变数组值

func printArray1(arr *[5]int)  {

arr[0] =100

  for _,v :=range arr {

fmt.Println(v)

}

}

//通过slice改变数组值

func printArray2(arr []int)  {

arr[1] =88

  for _,v :=range arr {

fmt.Println(v)

}

}

/** slice (切片)

* 计算机中一般是半开半闭区间

* slice不是值类型,slice是对array的一个视图

*/

func studySlice()  {

arr := [...]int{0,1,2,3,4,5,6,7}

fmt.Println(arr[2:6])

fmt.Println(arr[:6])

fmt.Println(arr[2:])

fmt.Println(arr[:])

}

func updateSlice(arr []int)  {

arr[0] =99

}

func main() {

arrays()

fmt.Println("printArray(arr)")

var arr [5]int

printArray(arr)

fmt.Println("arr")

fmt.Println(arr)

fmt.Println("通过指针改变数组值")

printArray1(&arr)

fmt.Println("arr")

fmt.Println(arr)

fmt.Println("通过slice改变数组值")

printArray2(arr[:])

fmt.Println("arr")

fmt.Println(arr)

fmt.Println("studySlice")

studySlice()

arr1 := [...]int{0,1,2,3,4,5,6,7}

s1 := arr1[2:6]

//s2 := arr1[:6]

//s3 := arr1[2:]

//s4 := arr1[:]

  fmt.Println("切片之后")

updateSlice(s1)

fmt.Println(s1)

fmt.Println(arr1)

fmt.Println("Reslice")

fmt.Println(s1)

s1 = s1[:4]

fmt.Println(s1)

s1 = s1[2:]

fmt.Println(s1)

//slice扩展

    fmt.Println("slice扩展")

}

相关文章

  • study_go_day3 数组

    package main import "fmt" /**数组 * 定义数组数量在前类型在后 * 可以通过[......

  • 数组

    数组数组数组数组数组数组数组数组数组

  • JavaScript - 5.数组<增删改查>

    数组 Array 数组 - 增 数组 - 删 / 改 数组 - 查 数组 - 自动 toString() 数组 -...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 》》》PHP初入---(三)

    数组定义 1.索引数组:数组下标是整型的 声明数组: 访问数组: count(数组)--获取数组长度 查看数组所有...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

  • Shell数组、关联数组

    数组 定义数组 获取数组 关联数组 定义关联数组 获取关联数组

  • 学习Java第五天

    数组是多个数据的集合 数组的语法 数组元素类型【】 数组名; 多维数组: 数组元素类型【】【】 数组名; 多维数组...

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

网友评论

      本文标题:study_go_day3 数组

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