美文网首页
go编程基础-数组

go编程基础-数组

作者: 郭某人1 | 来源:发表于2019-01-10 14:42 被阅读4次

一、定义数组

定义的格式:var<var Name> [n] <type>, n>=0;
列:var a [2] int 长度为2的int型数组;输出:[0 0]
a := [2]int{1}等同于 a := [3]int{0:1,1:0}
长度为2的int型数组;输出:[1 0]
a := [3]int{2:1} 等同于 a := [3]int{0:0,1:0,2:1}
长度为3的int型数组;输出:[0 0 1]
不指定数组长度,列
a := [...] int {2,1,9,6,5}go语言会创建长度为5的int型数组;
a := [...] int {19:1} go语言会创建长度为20的int型数组;

二、数组指针和指针数组

数组指针

a := [...] int {19:1}
var p *[20] int = &a
fmt.Println(p)

指针数组

x,y := 1,2
a := [...] *int {&x:&y}
fmt.Println(a)

三、数据传递和比较

go语言中数组为值类型,传递数组时是传递整个数组的拷贝,而不是传递地址给方法或函数;

#######数组之间可以使用==和!=比较,(数组长度也是类型的一部分,因此具有不同长度的数组为不同类型,不能进行==和!=比较)

a := [2] int {2,1}
b := [2] int {2,5}
fmt.Println(a==b) 输出false

a := [2] int {2,1}
b := [2] int {2,1}
fmt.Println(a==b) 输出true

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

a := [2] string{"2","1"}
b := [2] int {2,1}
fmt.Println(a==b) 类型不一致不能进行比较

四、数组单个元素赋值

a := [10] int{}
a[1] =2
fmt.Println(a)

p:=new ([10]int)
p[1]=2
fmt.Println(p)

五、多维数组

a:=[2][3]{{1,2,3},{1,1,2}} 2个长度为3的数组元素
输出[[1 2 3][1 1 2]]
同一维数组
a:=[2][3]{{1:3},{0:2}}
输出[[0 3 1][2 0 0]]

六、冒泡排序(由大到小)

a := [...]int{1, 6, 5, 8, 10, 2}
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)

相关文章

  • go编程基础-数组

    一、定义数组 定义的格式:var [n] , n>=0;列:var a [2] int ...

  • Golang资料整理

    视频 郝林-Go语言第一课 Go编程基础 Go Web 基础 Go名库讲解 社区 官网要翻墙 Github--Go...

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • go语言学习

    基础 go的学习,感谢Go By Example、go网络编程与go语言标准库随着学习的深入,此文章持续更新......

  • 《golang高级编程》-读书笔记

    《Go语言高级编程》 作者 柴树杉 曹春晖 1.3 数组、字符串和切片 Go语言拷贝字符串,只是复制了底层字节数组...

  • Go编程基础

    Go的优点高效垃圾回收机制类型安全和内存安全(没有隐式转换,只能显示转换)快速编译(未使用包检测)轻松实现高并发支...

  • GO学习笔记(18) - 并发编程(3)- Select与Cha

    本文主要讲解Go并发编程之Select 目录 介绍 基础语法 timeout 综合实例 select 是 Go 中...

  • 从0开始Go语言,用Golang搭建网站

    实践是最好的学习方式 零基础通过开发Web服务学习Go语言 本文适合有一定编程基础,但是没有Go语言基础的同学。 ...

  • 三. Go(Go基础编程)

    一. 面向接口 接口的概念 接口的本质是引入一个新的中间层,调用方可以通过接口与具体实现分离,解除上下游的耦合,上...

  • Go语言入坑

    GO语言基础 认识并安装GO语言开发环境 Go语言简介 Go语言是谷歌2009年发布的第二款开源编程语言 go语言...

网友评论

      本文标题:go编程基础-数组

      本文链接:https://www.haomeiwen.com/subject/xlcarqtx.html