Golang基础_03-数组Array

目录

  • 目录
  • 注意事项
  • 指向数组的指针和指针数组
    • Examples
    • Tips
  • 多维数组
  • 冒泡排序例子

目录

@

注意事项

  • 数组在Go中是值类型,不是引用
  • 类型和长度都相同的数组之间可以使用==或者!=进行比较(Go中已经实现了),但是没有
  • Go支持多维数组

    数组定义

    Tips

  • 两个数组不能直接赋值
  • 数组定义格式:var <Varname> [n]<type>, n>=0
  • 数组长度也是类型的一部分,因此不同长度数组为不同的类型
  • 可以用索引初始化下标为n的位置的值

    Examples

func main(){
    var a [20]int
    a = [20]int{19:1} //索引
    b := [3]string{}
    c := [...]int{0:1, 1:2, 2:3}
    fmt.Println(a,b,c)
}

指向数组的指针和指针数组

Examples

func main(){
    var a [20]int
    a = [20]int{19:1}
    var p *[20]int = &a
    fmt.Println(*p)
}
func main(){
    x,y := 1,2
    var pp [20]*int = [20]*int{&x, &y}
    fmt.Println(pp)
}

Tips

  • 可以用new创建数组,此方法返回一个指向数组的指针
  • 不管是数组本身还是指向数组的指针,都可以用中括号的方式改变数组的值
func main(){
    a := [10]int{}
    a[1]=3
    fmt.Println(a)
    p := new([10]int)
    p[1]=3
    fmt.Println(p)
}
/*
command-line-arguments
[0 3 0 0 0 0 0 0 0 0]
&[0 3 0 0 0 0 0 0 0 0]
*/

多维数组

  • 多维数组也可以使用索引
  • 二维数组的第一个参数用[...]可以省略,但是第二个不可以
func main(){
    a := [2][3]int{
        {1,2,3},
        {4,5,6}}
    fmt.Println(a)
}
/*
> Output:
[[1 2 3] [4 5 6]]
*/

下面的代码会报错:

func main(){
    a := [2][3]int{
        {1,2,3},
        {4,5,6}
    }
    fmt.Println(a)
}
//注意数组右大括号的位置

冒泡排序例子

func main(){
    a := [...]int{1,3,4,6,8,2,10,45,34,9,8}
    fmt.Println(a)
    fmt.Println("从小到大排序")
    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)
}
/*
> Output:
command-line-arguments
[1 3 4 6 8 2 10 45 34 9 8]
从小到大排序
[1 2 3 4 6 8 8 9 10 34 45]
*/

原文地址:https://www.cnblogs.com/leafs99/p/golang_basic_03.html

时间: 2024-10-11 16:16:00

Golang基础_03-数组Array的相关文章

golang基础之数组

文章转载请注明出处www.leexide.com 希望每一位寻求转载的朋友都能够按照要求进行,鼓励原创,尊重原创. 微信公众号:DevOps运维运营之家 QQ号码:1045884038 E-mail:[email protected] 如有问题或建议,请关注微信公众号 1 数组介绍 数组是同一类型元素的集合.例如,整数集合 5,8,9,79,76 形成一个数组.Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组.(注:当然,如果是 interface{} 类型数组,可以包含任意类型

go语言-golang基础-数据类型数组,数组切片,映射

7.7 数组 数组是Go语言编程中最常用的数据结构之一.顾名思义,数组就是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度. 以下为一些常规的数组声明方法: [32]byte // 长度为32的数组,每个元素为一个字节 [2*N] struct { x, y int32 } // 复杂类型数组 [1000]*float64 // 指针数组 [3][5]int // 二维数组 [2][2][2]float64 // 等同于[2

GO学习-(8) Go语言基础之数组

Go语言基础之数组 Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化. 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 数组变量名 [元素数量]T 比如:var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分.一旦定义,长度不能变. [5]int和[10]int是不同的类型. var a [3]int var b [4]int a =

Linux数组array基础

Linux数组array基础[${a[*]}和$a的区别] Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[index] = value 下面以一个简单的脚本来说明,脚本内容如下: #!/bin/bash #定义数组 A=(a b c d e f ) #把数组按字符串显示输出 echo ${A[@]} #数组的长度表示${#A[*]} len=${#A[*]} echo ${#A[*]} #屏幕显示:6 #

Javascript基础系列之(四)数据类型 (数组 array)

字符串,数值,布尔值都属于离散值(scalar),如果某个变量是离散的,那么任何时候它只有一个值. 如果想使用变量存储一组值,就需要使用数组(array). 数组是由多个名称相同的树值构成的集合,集合中每个数组都是数组的元素(element),可以使用变量team存储团队里每个成员的名字. 在JavaScript中,数组使用关键字 Array声明创建,同事还可以声明变量的长度length.例如 var aTeam = new Array(12);//声明变量的长度 在无法预知数组的最终个数时,声

js基础复习---数组操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="keywords" content="js数组操作"> <meta name="description" content="js基础之数组api练习"> <title

[.net 面向对象编程基础] (17) 数组与集合

[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总是举的是具体的实例以加深理解. 本节内容相当具体,学起来也相当轻松. 1.数组 1.1 什么是数组? 数组是一种数据结构,包含同一个类型的多个元素. 1.2数组的初始化 string[] mystringArray; 类型+方框号 数组名 1.3数组初始化 我们知道数组是引用类型,所以需要给他分配堆

golang 多维数组

具体的题目如下:(就是将多维数组的行列互换) A multi-dimensional array is an array of arrays. 2-dimensional arrays are the most commonly used. They are used to store data in a tabular manner. Consider following 2D array, which is of the size 3×53×5. For an array of size N

JavaScript基础之数组的重排序

JavaScript基础之数组的重排序 数组(Array)算是继Object之后我们最常用到的类型了.与其他语言不同的是,javascript数组的每一项可以保存任何类型的数据,并且数组的大小是可以动态调整的. JavaScript已经为我们提供了两个数组重排序的方法,reverse()和sort() 方法. 其中reverse()方法会反转数组项的顺序.举个栗子: var values = [18,4,56,1,"a","b","abc"];