1.数组:同一种数据类型的固定长度的序列。

2.数组定义:var a [len]int,例如:var a [5]int

3.长度是数组类型的一部分,因此,var a[5] int 和 var a[10]int 是不同的类型

4.数组可以通过下标进行访问,下标是从0开始,最后一个元素是len-1

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

}

5.访问越界,如果下标在数组合法范围之外,就会触发越界,panic异常

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6. var a []int
  7. a[] =
  8. fmt.Println(a)
  9. for i := ; i < len(a); i++ {
  10. fmt.Println(a[i])
  11. }
  12.  
  13. for index, val := range a {
  14. fmt.Printf("a[%d]==%d\n", index, val)
  15. }
  16. }

6.数组是值类型,因此改变副本的值,不会改变本身的值

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func test2() {
  6. var a []int
  7. b := a
  8. b[] =
  9. fmt.Println(a)
  10.  
  11. }
  12. //传递指针
  13. func test3(arr *[]int) {
  14. (*arr)[] =
  15. }
  16.  
  17. func main() {
  18. //test2()
  19. var a []int
  20. //传 地址,改变 值类型
  21. test3(&a)
  22. fmt.Println(a)
  23. }

7.费波纳茨数列

  1. package main
  2.  
  3. import "fmt"
  4. //菲波那切数列,非递归方式实现,打印前50个数
  5. func fab(n int){
  6. var a[]uint64
  7. a = make([]uint64,n)
  8. a[]=
  9. a[]=
  10. for i:=;i<n;i++{
  11. a[i]=a[i-]+a[i-]
  12. }
  13. for _,v:=range a{
  14. fmt.Println(v)
  15. }
  16. }
  17. func main(){
  18. fab()
  19. }

8.声明数组,遍历数组

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. //数组的初始化
  6. func testArray() {
  7. var a []int = []int{, , , , }
  8. var a1 = []int{, , , , }
  9. var a2 = [...]int{, , , , , , }
  10. var a3 = [...]int{: , : }
  11. var a4 = [...]string{: "hello", : "world"}
  12. fmt.Println(a)
  13. fmt.Println(a1)
  14. fmt.Println(a2)
  15. fmt.Println(a3)
  16. fmt.Println(a4)
  17. }
  18.  
  19. //多维数组
  20. func muchArray() {
  21. //两行五列的数组
  22. var a [][]int = [...][]int{{, , , , }, {, , , , }}
  23. for row,v:=range a{
  24. for col,v1:=range v{
  25. fmt.Printf("(%d,%d)=%d\n",row,col,v1)
  26. }
  27. }
  28. }
  29.  
  30. func main() {
  31. //testArray()
  32. muchArray()
  33. }

golang之数组的更多相关文章

  1. Golang 入门 : 数组

    数组是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int.string 等,也可以是用户自定义的类型.一个数组包含的元素个数被 ...

  2. Golang的数组

    Golang数组 package main import "fmt" func main() { // 定义一个长度为10,元素类型为string的值 li2 := [10]str ...

  3. Golang的数组初始化方式及for-range遍历

    package main import ( "fmt" ) func main() { ]], , } //定义并初始化长度为3的数组 fmt.Println(arr1) //[1 ...

  4. [golang note] 数组切片

    数组 √ golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length). √ golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量 ...

  5. golang json数组拼接

    2016年06月16日 15:38:25 阅读数:2575 标签: golangjson数组 更多 个人分类: golang   func main() { a := []byte(`{"P ...

  6. golang中数组指针与指针数组的区别实现

      指针数组和数组的指针,指的是两个不同的东西. 指针数组是有指针组成的数组,数组的指针是一个数组的指针. package main import "fmt" const MAX ...

  7. golang笔记——数组与切片

    一.切片的定义 我们可以从数组(go语言中很少直接使用数组)或者切片来初始化一个新的切片,也可以直接通过 make 来初始化一个所有元素为默认零值的切片. //1.通过数组来初始化切片 arr := ...

  8. 深入学习golang(1)—数组与切片

    数据(array)与切片(slice) 数组声明: ArrayType   = "[" ArrayLength "]" ElementType . 例如: va ...

  9. GOLang(数组操作随篇)

    创建一个类似PHP Array $data["userInfo"] = ["name"=>"Josn","ages" ...

  10. golang 修改数组中结构体对象的值的坑

    对对象数组逐个修改元素属性时候没有成功,代码如下: for _, configure := range configures { configure.Price = specPriceMap[conf ...

随机推荐

  1. WPF 设置TextBox为空时,背景为文字提示

    WPF 设置TextBox为空时,背景为文字提示.   <TextBox FontSize="17" Height="26" Margin="2 ...

  2. nexus 使用Raw Repositories 进行maven site 发布

    实际项目中我们可能需要进行maven 项目的site 文档发布,一般的处理是生成之后,然后在进行发布到一个静态 服务器进行页面访问,nexus3 提供了一个Raw Repositories 很方便可以 ...

  3. C#在64位操作系统上连接Oracle的问题和解决方案

    C#使用System.Data.OracleClient连接Oracle数据库.之前在WinXP上正常运行的程序移植到Windows 2008 x64上之后就连不上数据库了.错误信息如下: 尝试加载O ...

  4. bzoj1037生日聚会

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1037 任意区间的话,可以从所有后缀区间考虑. 因为每一个区间一定是某一时刻的一个后缀区间,所 ...

  5. [C++ Primer] 第6章: 函数

    参数传递 const形参和实参: 顶层const作用于对象本身, 和其他初始化过程一样, 当用实参初始化形参时会忽略掉顶层const, 换句话说, 形参顶层const被忽略掉了, 当形参有顶层cons ...

  6. C#使用WebService

    一.新建webservice 新建项目→asp.net Web服务应用程序 或者在现有项目中 点击右键 新建web服务程序asmx 只要在webservice类里面 的方法 标注为[WebMethod ...

  7. ETL流程概述及常用实现方法

    ETL流程概述及常用实现方法 http://blog.csdn.net/btkuangxp/article/details/48224187 目录(?)[-] 1抽取作业 1手工开发抽取作业时候的常用 ...

  8. 教你使用markdown画程序流程图

    2016-01-21 10:33:15 星期四 1. 入门案例 st=>start: Start op=>operation: Your Operation sub=>subrout ...

  9. 黄聪:定制化WordPress后台自定义仪表盘

    WordPress作为一博客管理系统,相对来说已经相当简洁了,对用户也十分友好,新手也极易上手. 仪表盘是我们登陆WordPress后看到的后台界面,映入眼帘的是各种各样的信息,如WordPress ...

  10. TCP heart

    http://blog.csdn.net/lisonglisonglisong/article/details/51327695