当前位置 博文首页 > Go语言中数组的基本用法演示

    Go语言中数组的基本用法演示

    作者:admin 时间:2021-02-18 12:39

    首先来看一下如何声明数组:

    复制代码 代码如下:

    package main

    import "fmt"

    var arr [2]int //申明一个数组

    func main() {
     arr[0] = 1 //数组赋值
     fmt.Println(arr)
     arrtest := [3]int{1, 2, 3} //数组的另一种申明方式
     fmt.Println(arrtest)
     a := [...]int{1, 2} //[...]自动识别数组的长度
     fmt.Println(a)
     fmt.Println(len(a))//输出数组的长度
    }


    go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明
    复制代码 代码如下:

    a:=[...]int{1,2,3,45}

    指针数组
    复制代码 代码如下:

    a:=[3]int{1,2,3}
    var p * [3]int = &a //这种是指针数组 我们看到可以直接输出指向数组的指针
    x , y :=1 ,3
    a := [...]*int{&x ,&y}
    str.Println(a) //输出这样[0xc080000068 0xc080000070]的地址 这就是数组指针

    可以用new关键字申明
    复制代码 代码如下:

    p := new([10]int)
    fmt.Println(p)  //&[0 0 0 0 0 0 0 0 0 0] 输出一个指针

    多维数组跟其他语言一样
    复制代码 代码如下:

    c := [3][2]int{{1: 2}, {2, 1}, {2, 2}}
    fmt.Println(c) //输出[[0 2] [2 1] [2 2]]

    下边是slice的申明和使用其实这就是一种动态的数组

    复制代码 代码如下:

    package main

    import "fmt"

    var arr [2]int //申明一个数组

    func main() {
     arr[0] = 1 //数组赋值
     fmt.Println(arr)
     arrtest := [3]int{1, 2, 3} //数组的另一种申明方式
     fmt.Println(arrtest)
     a := [...]int{1, 2} //[...]自动识别数组的长度
     fmt.Println(a)
     fmt.Println(len(a))//输出数组的长度
    }

    来看一下冒泡算法之go语言版

    复制代码 代码如下:

    package main

    import "fmt"

    func main() {
     a := [...]int{3, 2, 5, 8, 6}
     fmt.Println(a)
     num := len(a)
     for i := 0; i < num; i++ {
      for j := i + 1; j < num; j++ {
       if a[i] < a[j] {
        temp := a[i]
        a[i] = a[j]
        a[j] = temp
       }
      }
     }
     fmt.Println(a)
    }

    js
    下一篇:没有了