GO语言数组

简介:

GO语言数组:     

数组是Go语言编程中最常用的数据结构之一。顾名思义,数组就是指一系列同一类型数据的集合。数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。

        在Go语言中数组是一个值类型(value type)。是真真实实的数组,而不是一个指向数组内存起始位置的指针,也不能和同类型的指针进行转化,这一点严重不同于C语言。所有的值类型变量在赋值和作为参数传递时都将产生一次复制动作。如果将数组作为函数的参数类型,则在函数调用时该参数将发生数据复制。因此,在函数体中无法修改传入的数组的内容,因为函数内操作的只是所传入数组的一个副本

数组的定义方式:

1、[length]Type 2、[N]Type{value1, value2, ... , valueN} 3、[...]Type{value1, value2, ... , 

egg:数组操作定义.......

package main
import "fmt"
func main() {
    //******第一种创建数组
    //声明一个数组并赋值
    var a [3]int = [3]int{1, 2, 3}
    fmt.Println(a)
    //等价的赋值
    b := [3]int{1}
    fmt.Println(b)
    //***定义一个空的数组
    var c [5]int
    fmt.Println(c)
    //***定义一个省略长度采用"..."的方式,GO自动根据元素个数来计算长度
    d := [...]int{1, 2, 3, 4, 5, 6, 7}
    fmt.Println(d)
    //进阶定义,对第9个元素(下标为8)赋值1,其他同理
    e := [...]int{8: 1}
    fmt.Println(e)
    //数组的元素是指针,f数组的元素是指向int的指针
    aa := 1
    bb := 2
    f := [...]*int{&aa, &bb}
    fmt.Println(f)
    //指向数组的指针
    g := [5]int{1, 2, 3, 4, 5}
    //k是一个指向数组的指针
    var k *[5]int = &g
    fmt.Println(k)
    //数组的比较
    a1 := [2]int{1, 2}
    a2 := [2]int{1, 2}
    fmt.Println(a1 == a2)
    //通过new返回一个指向数组的指针,做赋值操作
    l := new([2]int)
    fmt.Println(l)
    l[0], l[1] = 11, 22
    fmt.Println(l)
    //多维数组,二行二列
    m := [2][2]int{{1, 2}, {3, 4}}
    fmt.Println(m)
    //自动计算多维数组,必须是顶级
    n := [...][2]int{{1, 2}, {3, 4}, {5, 6}}
    fmt.Println(n)
}


本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1963021

相关文章
|
5天前
|
存储 监控 算法
员工上网行为监控中的Go语言算法:布隆过滤器的应用
在信息化高速发展的时代,企业上网行为监管至关重要。布隆过滤器作为一种高效、节省空间的概率性数据结构,适用于大规模URL查询与匹配,是实现精准上网行为管理的理想选择。本文探讨了布隆过滤器的原理及其优缺点,并展示了如何使用Go语言实现该算法,以提升企业网络管理效率和安全性。尽管存在误报等局限性,但合理配置下,布隆过滤器为企业提供了经济有效的解决方案。
33 8
员工上网行为监控中的Go语言算法:布隆过滤器的应用
|
25天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
37 7
|
25天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
25天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
99 71
|
24天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
103 67
|
27天前
|
Go 索引
go语言for遍历数组或切片
go语言for遍历数组或切片
94 62
|
25天前
|
存储 Go
go语言中映射
go语言中映射
36 11
|
27天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
33 12
|
26天前
|
Go 索引
go语言使用索引遍历
go语言使用索引遍历
30 9
|
26天前
|
Go 索引
go语言使用range关键字
go语言使用range关键字
29 7