006.golang 数组 array

数组Array

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

package main

import (
    "fmt"
)

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

package main

import (
    "fmt"
)

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

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)
}

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)
}

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)
    //数组的类型和长度不一样,无法进行比较
}

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)
}

package main

import (
    "fmt"
)

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

冒泡排序

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)
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Golang 语言范围(Range)

Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。在数组和切片中它返回元...

35970
来自专栏史上最简单的Spring Cloud教程

javascript入门笔记9-认识DOM

认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和...

19250
来自专栏一个小程序员的成长笔记

JavaScript中的数据类型

在ECMAScript中,变量是松散类型的。所谓松散类型就是指变量可以用来保存任何类型的数据。  // 下面的操作是完全合法的 var message = "h...

35560
来自专栏Golang语言社区

【Go 语言社区】Go语言传递数组到函数

如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数在以下两种方式之一,以下两种声明方法产生类似的结果,因为每个告诉编译器,一个整数数组将会被接收。类似...

36060
来自专栏Pythonista

Golang之面向对象和指针

11640
来自专栏Golang语言社区

第七节 Go语言运算符

干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前...

12830
来自专栏别先生

jQuery/javascript实现简单网页计算器

1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>jQuery实现</title> 5 <scr...

35480
来自专栏Golang语言社区

基础篇--Go 语言运算符

运算符用于在程序运行时执行数学或逻辑运算。 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 接下来让我们来详细...

31550
来自专栏技术之路

详解go语言的array和slice 【一】

  本篇会详细讲解go语言中的array和slice,和平时开发中使用时需要注意的地方,以免入坑。   Go语言中array是一组定长的同类型数据集合,并且是连...

29170
来自专栏天天

DOM

8710

扫码关注云+社区

领取腾讯云代金券