zoukankan      html  css  js  c++  java
  • 50_Go基础_1_17 slice1

     1 package main
     2 
     3 import "fmt"
     4 
     5 func main() {
     6     /*
     7         数组array:
     8             存储一组相同数据类型的数据结构。
     9                 特点:定长
    10 
    11         切片slice:
    12             同数组类似,也叫做变长数组或者动态数组。
    13                 特点:变长
    14 
    15             是一个引用类型的容器,指向了一个底层数组。
    16 
    17         make()
    18             func make(t Type, size ...IntegerType) Type
    19 
    20             第一个参数:类型
    21                 slice,map,chan
    22             第二个参数:长度len
    23                 实际存储元素的数量
    24             第三个参数:容量cap
    25                 最多能够存储的元素的数量
    26 
    27 
    28         append(),专门用于向切片的尾部追加元素
    29             slice = append(slice, elem1, elem2)
    30             slice = append(slice, anotherSlice...)
    31     */
    32 
    33     // 1.数组
    34     arr := [4]int{1, 2, 3, 4} // 定长
    35     fmt.Println(arr)
    36 
    37     // 2.切片
    38     var s1 []int
    39     fmt.Println(s1) // []
    40 
    41     s2 := []int{1, 2, 3, 4}        // 变长
    42     fmt.Println(s2)                // [1 2 3 4]
    43     fmt.Printf("%T,%T\n", arr, s2) // [4]int,[]int
    44 
    45     s3 := make([]int, 3, 8)
    46     fmt.Println(s3)                               // [0 0 0]
    47     fmt.Printf("容量:%d,长度:%d\n", cap(s3), len(s3)) // 容量:8,长度:3
    48     s3[0] = 1
    49     s3[1] = 2
    50     s3[2] = 3
    51     fmt.Println(s3) // [1 2 3]
    52     // fmt.Println(s3[3]) //panic: runtime error: index out of range
    53 
    54     // append()
    55     s4 := make([]int, 0, 5)
    56     fmt.Println(s4)                // []
    57     s4 = append(s4, 1, 2)          //
    58     fmt.Println(s4)                // [1 2]
    59     s4 = append(s4, 3, 4, 5, 6, 7) //
    60     fmt.Println(s4)                // [1 2 3 4 5 6 7]
    61     s4 = append(s4, s3...)         //
    62     fmt.Println(s4)                //  [1 2 3 4 5 6 7 1 2 3]
    63 
    64     // 遍历切片
    65     for i := 0; i < len(s4); i++ {
    66         fmt.Println(s4[i])
    67     }
    68 
    69     for i, v := range s4 {
    70         fmt.Printf("%d-->%d\n", i, v)
    71     }
    72 
    73 }
  • 相关阅读:
    使用Docker及k8s启动logstash服务
    在kubernetes上部署zookeeper,kafka集群
    k8s configmap 挂载配置文件
    k8s 安装 rabbitMQ 单机版
    aws 挂载efs (nfs)目录
    长白山游记
    RedHat 安装YUM软件
    mysql查询案例
    mysql子查询
    mysql联合查询
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15625390.html
Copyright © 2011-2022 走看看