前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >006.golang 数组 array

006.golang 数组 array

作者头像
qubianzhong
发布2018-08-15 16:54:56
1960
发布2018-08-15 16:54:56
举报
文章被收录于专栏:行者常至行者常至

数组Array

  • 定义数组的格式:var [n],n>=0
  • 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型
  • 注意区分指向数组的指针和指针数组
  • 数组在Go中为值类型
  • 数组之间可以使用==或!=进行比较,但不可以使用<或>
  • 可以使用new来创建数组,此方法返回一个指向数组的指针
  • Go支持多维数组

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    var a [2]int
    b := [2]int{2, 3}
    fmt.Println(b)
    //数组间赋值,必须数组长度得相等
    b = a
    fmt.Println(b)
}

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    var a [2]int
    b := [3]int{2, 3, 4}
    fmt.Println(b)
    b = a
    fmt.Println(b)
}

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    //非初始化参数数值为0
    b := [10]int{2}
    fmt.Println(b)
    //index:value 来初始化特定索引的值
    a := [10]int{8: 3}
    fmt.Println(a)
    //未指派数组长度时,初始化的最大索引默认为数组最大索引
    c := [...]int{9: 1}
    fmt.Println(c)
}

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    c := [...]int{9: 1}
    var p *[10]int = &c //指向数组的指针
    fmt.Println(p)

    x, y := 1, 3
    a := [...]*int{&x, &y} //指针数组
    fmt.Println(a)
}

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    a := [2]int{1, 1}
    b := [2]int{1, 1}
    fmt.Println(a == b) //true
    c := [2]int{1, 2}
    fmt.Println(a == c) //false
    // d := [3]int{1, 2, 3}
    // fmt.Println(a == d)
    //数组的类型和长度不一样,无法进行比较
}

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    a := [10]int{}
    a[1] = 2
    fmt.Println(a)

    //指向数组的指针,同样可以使用下标进行赋值
    p := new([10]int)
    p[1] = 2
    fmt.Println(p)
}

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    a := [2][3]int{
        {1, 1, 1},
        {2, 2, 2}}
    fmt.Println(a)
}

冒泡排序

代码语言:javascript
复制
package main

import (
    "fmt"
)

func main() {
    a := [...]int{3, 4, 5, 7, 12, 6, 9, 32, 0}
    fmt.Println(a)

    num := len(a)
    for i := 0; i < num; i++ {
        for k := i + 1; k < num; k++ {
            if a[i] > a[k] {
                temp := a[i]
                a[i] = a[k]
                a[k] = temp
            }
        }
    }

    fmt.Println(a)
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年05月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组Array
  • 冒泡排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档