码迷,mamicode.com
首页 > 编程语言 > 详细

golang之数组,切片

时间:2017-12-31 10:50:00      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:通过   bsp   一个   元素   index   style   body   数组   地址   

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异常

package main

import "fmt"

func main() {
    var a [10]int
    a[0] = 100
    fmt.Println(a)
    for i := 0; i < len(a); i++ {
        fmt.Println(a[i])
    }

    for index, val := range a {
        fmt.Printf("a[%d]==%d\n", index, val)
    }
}

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

package main

import "fmt"

func test2() {
    var a [10]int
    b := a
    b[0] = 100
    fmt.Println(a)

}
//传递指针
func test3(arr *[5]int) {
    (*arr)[0] = 1000
}

func main() {
    //test2()
    var a [5]int
    //传 地址,改变 值类型
    test3(&a)
    fmt.Println(a)
}

7.费波纳茨数列

package main

import "fmt"
//菲波那切数列,非递归方式实现,打印前50个数
func fab(n int){
    var a[]uint64
    a = make([]uint64,n)
    a[0]=1
    a[1]=1
    for i:=2;i<n;i++{
        a[i]=a[i-1]+a[i-2]
    }
    for _,v:=range a{
        fmt.Println(v)
    }
}
func main(){
    fab(50)
}

 

golang之数组,切片

标签:通过   bsp   一个   元素   index   style   body   数组   地址   

原文地址:https://www.cnblogs.com/pyyu/p/8151720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!