欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-29 13:05:17
首先来看一下如何声明数组: 复制代码 代码如下: package main import "fmt" var arr [2]int //申明一个数组 func m...

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

复制代码 代码如下:

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