go之数组

一、数组概念

go语言提供了数组类型的数据结构

数组是具有 [唯一类型] 的一组 [固定长度] 的数据项序列,这种类型可以是任意类型

二、数组声明

var variable_name [SIZE]variable_type

如:
var nums [10]int

三、初始化数组

数组在声明阶段,就已经赋予初始值了

在go 语言中数组是值类型,所以声明后便自动赋予初始值.
关于数组的初始值 和数组的数据类型有关
如下
//因为声明的是int类型的数组,所以初始值是0
var nums [5]int
fmt.Println(nums)
// 结果:[0 0 0 0 0]

四、数组的使用

  • for-range
package main

import "fmt"

func main(){
    var hosts [5]string
    // 数组元素的赋值
    hosts = [5]string{"192.168.0.1","192.168.0.2","192.168.0.3","192.168.0.4","192.168.0.5"}
    fmt.Println(hosts[1]) // 取下标为1 的元素,即第2个(因为数组下标从0开始)

    // for-range 取的是每一个元素
    for index,v := range hosts{
        fmt.Printf("hosts[%d]=%s\n",index,v)
    }
}
  • 不确定元素数组
package main

import "fmt"

func main(){
    var nums = [...]int{1,2,3,4,5} // 我们在不具体计算数组个数时,可以使用... 代替,届时go编辑器会计算数组个数,并声明是多少元素的数组
    // var nums = [5]int{1,2,3,4,5} //与上面相同,只是数量个数由go编辑器计算了

    fmt.Println(nums)
}
  • 数组的改与求和
package main

import "fmt"

func main(){
    arrs := [5]float32{2:12.3,4:12.5}
    fmt.Println(arrs)
    arrs[0] = 28.93
    arrs[1] = 9.00
    fmt.Println(arrs)

    // 求和
    var sum float32
    for _,v := range arrs{ // 第一个参数是下标,不需要所以使用_,表示省略
        sum += v
    }
    fmt.Println(sum)
}
结果
[0 0 12.3 0 12.5]
[28.93 9 12.3 0 12.5]
62.73
  • 数组在内存中的结构
    因为数组是值类型,所以数组的下标对应的就是具体是数值
    o_992597C9-2330-406C-B6B6-DBA0EA22E645.png

五、注意

在实际的开发过程中,其实很少使用数组,因为数组元素的长度被固定了,其实多数使用切片(后面会讲解)

如果喜欢看小说,请到183小说网

转载于:https://www.cnblogs.com/xiaobaiskill/p/10597057.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值