服务器之家

服务器之家 > 正文

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

时间:2020-04-27 11:44     来源/作者:脚本之家

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

复制代码 代码如下:


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

 

 

标签:

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部