golang php数组,Golang数组Array

数组Array

定义数组的格式:var

package main

import (

"fmt"

)

func main() {

//数组的长度也是类型的一部分,因此具有不同长度的数组为不同类型

var a [2]int //定义长度为2的int型数组。

var b [1]int //长度为1的int型数组

b = a

fmt.Println(b)//此时编译时不通过的

}

数组的长度也是类型的一部分,因此具有不同长度的数组为不同类型

package main

import (

"fmt"

)

func main() {

a := [20]int{19: 1} //长度为20的int型数组,索引位为19的赋值为1

b := [...]int{0: 1, 1: 2, 2: 3} //3个点代表不定长的数组,它会自己去推算数组的长度

fmt.Println(a)

fmt.Println(b)

}

注意区分指向数组的指针和指针数组

package main

import (

"fmt"

)

func main() {

x, y := 1, 2

c := [...]*int{&x, &y} //保存的元素是指向int型的指针

a := [...]int{99: 1}

var p *[100]int = &a //指向数组的指针,取的是a的地址

//加*代表这是一个指针

fmt.Println(p) //打印的结果和a的结果是一样的,只不过前面多了一个取地址的符号 &,这就是指向数组的指针

fmt.Println(c) //指针数组,存的是x和y的内存地址

}

数组在Go中为值类型

数组之间可以使用 == 或 != 进行比较,但不可以使用

package main

import (

"fmt"

)

func main() {

a := [2]int{1, 2}

b := [1]int{1}

fmt.Println(a != b) //mismatched types [2]int and [1]int

//a和b的长度也必须相同才能进行比较,长度不同代表类型不同,数组的比较也是比较严格的

}

可以使用new来创建数组,此方法返回一个指向数组的指针

package main

import (

"fmt"

)

func main() {

p := new([10]int) //使用new关键字来创建这个数组的话,它返回的就是这个数组的指针

fmt.Println(p)

}

//结果

PS G:\mygo\src\mytest> go run .\myfirst.go

&[0 0 0 0 0 0 0 0 0 0]

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)

}

Go支持多维数组

package main

import (

"fmt"

)

func main() {

a := [...][2]int{

{0: 1},

{1: 2},

}

fmt.Println(a)

}

Go语言的冒泡排序

package main

import (

"fmt"

)

func main() {

a := [...]int{5, 2, 3, 6, 7, 8, 9}

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)

}

有疑问加站长微信联系(非本文作者)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值