• 45_Go基础_1_12 arr1


     1 package main
     2 
     3 import "fmt"
     4 
     5 func main() {
     6     /*
     7         数据类型:
     8             基本类型:整数,浮点,布尔,字符串
     9             复合类型:array,slice,map,struct,pointer,function,channel。。。
    10 
    11         数组:
    12             1.概念:存储一组相同数据类型的数据结构
    13                     理解为容器,存储一组数据
    14             2.语法:
    15                     var 数组名 [长度] 数据类型
    16                     var 数组名 = [长度] 数据类型{元素1,元素2.。。}
    17                     数组名 := [...]数据类型{元素。。。}
    18 
    19             3.通过下标访问
    20                 下标,也叫索引:index,
    21                 默认从0开始的整数,直到长度减1
    22                 数组名[index]
    23                     赋值
    24                     取值
    25 
    26                 不能越界:[0,长度-1]
    27 
    28             4.长度和容量:go语言的内置函数
    29                 len(array/map/slice/string),长度
    30                 cap(),容量
    31     */
    32 
    33     var num1 int
    34     num1 = 100
    35     num1 = 200
    36     fmt.Println(num1)         // 200
    37     fmt.Printf("%p\n", &num1) // 0xc0000140a8
    38 
    39     // step1:创建数组
    40     var arr1 [4]int
    41     fmt.Printf("%p\n", &arr1) // 0xc000010200
    42     // step2:数组的访问
    43     arr1[0] = 1
    44     arr1[1] = 2
    45     arr1[2] = 3
    46     arr1[3] = 4
    47     fmt.Println(arr1[0]) // 打印第一个数值 1
    48     fmt.Println(arr1[2]) // 打印第三个数值 3
    49     //fmt.Println(arr1[4]) //invalid array index 4 (out of bounds for 4-element array)
    50 
    51     fmt.Println("数组的长度:", len(arr1)) // 容器中实际存储的数据量 4
    52     fmt.Println("数组的容量:", cap(arr1)) // 容器中能够存储的最大的数量 4
    53     // 因为数组定长,长度和容量相同
    54     arr1[0] = 100
    55     fmt.Println(arr1[0]) // 100
    56 
    57     // 数组的其他创建方式
    58     var a [4]int   // 同 var a= [4] int
    59     fmt.Println(a) // [0 0 0 0]
    60 
    61     var b = [4]int{1, 2, 3, 4}
    62     fmt.Println(b) // [1 2 3 4]
    63 
    64     var c = [5]int{1, 2, 4}
    65     fmt.Println(c) // [1 2 4 0 0]
    66 
    67     var d = [5]int{1: 1, 3: 2}
    68     fmt.Println(d) // [0 1 0 2 0]
    69 
    70     var e = [5]string{"rose", "王二狗", "ruby"}
    71     fmt.Println(e) // [rose 王二狗 ruby  ]
    72 
    73     f := [...]int{1, 2, 3, 4, 5}
    74     fmt.Println(f)      // [1 2 3 4 5]
    75     fmt.Println(len(f)) // 5
    76     g := [...]int{1: 3, 6: 5}
    77     fmt.Println(g)      // [0 3 0 0 0 0 5]
    78     fmt.Println(len(g)) // 7
    79 }
  • 相关阅读:
    Flink开发_Flink中的函数接口
    Netty简介
    java NIO简单了解
    Kafka发送消息流程
    Kafka高性能的原理
    Hbase表设计
    Hbase的读写过程
    Hbase各组件职责
    什么是java的深浅拷贝?
    Flink问题1
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15625257.html
Copyright © 2020-2023  润新知