zoukankan      html  css  js  c++  java
  • 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
    ",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
    
    • 数组在内存中的结构
      因为数组是值类型,所以数组的下标对应的就是具体是数值

    五、注意

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

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

  • 相关阅读:
    bcdedit /copy {current} /d "xxx" 报错,提示找不到系统文件
    Moving docker images location to different partition
    docker 使用save和load命令来转移image
    docker image rm ubuntu 失败
    yum国内镜像配置
    VMware下安装CentOS7 无法通过桥接模式进行联网
    docker大概理解
    windows cmd 切换磁盘
    使用Git向GitHub上上传代码
    抛砖引玉——进程和线程的理解方式
  • 原文地址:https://www.cnblogs.com/xiaobaiskill/p/10597057.html
Copyright © 2011-2022 走看看