zoukankan      html  css  js  c++  java
  • Go语言学习笔记十一--Go语言数组的相关操作

    一、数组的基本操作

     1 package main
     2 
     3 import "fmt"
     4 
     5 func main() {
     6     var arr[5] int
     7     //数组会自动将自己的元素初始化
     8     fmt.Println(arr)
     9     //给其中的一个元素赋值
    10     arr[0] = 11
    11     arr[2] = 33
    12     fmt.Println("arr = ", arr)
    13 
    14     var arr1 [3]int = [3]int{11,22,33} // var arr1 = [3]int{11,22,33} 这两中写法都可以
    15     fmt.Println("arr1 = ", arr1)
    16 
    17     arr2 := []int{44,55,66}
    18     fmt.Println("arr2 = ", arr2)
    19     //len用于求长度
    20     fmt.Println("arr2 的长度为:",len(arr2))
    21 
    22     arr3 := [5]int{10}
    23     fmt.Println("arr3 = ", arr3)
    24 
    25     //通过下标进行赋值
    26     arr4 := [7]int{2:100,5:555}
    27     fmt.Println("arr4 = ", arr4)
    28 
    29     //区别于C语言里面数组名就是一个指针 在go语言里面 数组的长度是数组元素的一部分,其长度不同的不能相互之间进行赋值
    30     var arr5 [5]int
    31     var arr6 [5]int
    32     var arr7 [6]int
    33     arr5 = arr6 //合法
    34     //arr6 = arr7 //报错
    35     fmt.Println(arr5)
    36     fmt.Println(arr6)
    37     fmt.Println(arr7)
    38     //数组的遍历
    39     for i:=0;i<len(arr1);i++ {
    40         fmt.Printf("arr1[%d] = %d
    ",i,arr1[i])
    41     }
    42 
    43     println("下面我们使用for range的方式来遍历数组")
    44     for index, value := range arr1{
    45         fmt.Printf("arr1[%d] = %d
    ",index, value)
    46     }
    47     println("下面我们使用for range的方式来遍历数组,并且只输出他的值")
    48     //range有两个返回值 使用下划线_ 来忽略第一个返回值
    49     for _, value := range arr1{
    50         fmt.Printf(" %d
    ", value)
    51     }
    52 }

    二、数组的复制

     1 package main
     2 
     3 import "fmt"
     4 func arrayModify(c [5]int){
     5     c[0] = 1000
     6 }
     7 func main() {
     8 
     9     var a [5]int = [5]int{6,5,2,3,8}
    10     b := a //这种方式是新开一个内存,将a里面的所有值都复制一份到数组b
    11 
    12     b[0] = 88
    13     b[1] = 99
    14     fmt.Printf("a[] = %v
    ",a)
    15     fmt.Printf("b[] = %v
    ",b)
    16     arrayModify(b) //你会发现执行这个函数 其实啥也没变
    17     fmt.Printf("b[] = %v
    ",b)
    18 }
  • 相关阅读:
    Java字符集
    ==和equals区别
    web.xml中load-on-startup标签的含义
    使用solrJ管理索引——(十四)
    Solr管理索引库——(十三)
    [置顶] 关于redhat系统yum源的配置1
    设置Oracle用IP远程连接和客户端访问
    jqueryUI中datepicker的使用,解决与asp.net中的UpdatePanel联合使用时的失效问题
    [置顶] 关于redhat系统yum源的配置2
    浅析innodb_support_xa与innodb_flush_log_at_trx_commit
  • 原文地址:https://www.cnblogs.com/xwxz/p/13322408.html
Copyright © 2011-2022 走看看