首页 > 编程 > Golang > 正文

GO语言基础之数组

2020-04-01 19:22:33
字体:
来源:转载
供稿:网友
或许您是从其他语言转到GO语言这边的,那麽在其他语言的影响下您可能会不太适应GO语言的数组,因为GO语言把数组给拆分成了array,slice和map,需要的朋友可以参考下
 

1.申明一个数组 var a[2] int 或者 a:=[2]int{1,2}

2.数组索引
数组就是索引的来建立如下图

GO语言基础之数组

我们再来一个测试

GO语言基础之数组

3.go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明

 

复制代码代码如下:

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

 

4.指针数组

 

复制代码代码如下:

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]]

 

冒泡算法之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)
}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表