Go-数组&切片

1.数组

1.1定义

// 数组的操作
// 长度必须写固定的  还有类型
var a1 [3]bool
var team [3]string
team[0] = "Hello"
team[1] = "World"
fmt.Println(team)  //[Hello World ]

1.2初始化

 

1.3遍历数组

// 遍历数组的元素  也可以使用for i来输出
// k 是索引  v是值
for k, v:=range team {
      fmt.Println(k,v)
}

0 Hello
1 World
2 

1.4二维数组

// 二维数组
var aa = [3][2]int{
         {1,2},
         {3,4},
         {5,6},
}
fmt.Println(aa)  //[[1 2] [3 4] [5 6]]

for _, v:=range aa {
   for _, v2:=range v{
      fmt.Println(v2)
   }
}

2.切片

在Go语言中,切片(Slice)是一种动态数组,可以根据需要动态地增长或缩小。它们是引用类型,并且支持索引、迭代和内置函数等操作。切片的语法类似于数组,但是它们不需要指定长度,而是动态地创建。一旦创建,就可以通过append()等内置函数来扩展或缩小切片的大小。

2.1定义&遍历

长度切片可变的数组

package main

import "fmt"

func main() {
    // 基本上和数组的定义差不多 就是没有长度
    var a []int    // 声明一个空切片  不推荐
    fmt.Println(a) // []
    // 获取长度 len(a)

    // 初始化切片
    var a1 = []int{1, 2, 3}
    fmt.Println(a1) // [1 2 3]

    // 指定索引的值 和数组一样
    var a2 = []string{0: "PHP", 3: "Java"}
    fmt.Println(a2) // [PHP   Java]

    //遍历切片
    a3 := []string{"Golang", "Java", "PHP", "Python"}
    fmt.Println(a3) // [Golang Java PHP Python]
    for i := 0; i < len(a3); i++ {
        fmt.Println(a3[i])
    }
    /*Golang
    Java
    PHP
    Python*/
    // for range 遍历
    for k, v := range a3 {
        fmt.Println(k, v)
    }
    /*0 Golang
    1 Java
    2 PHP
    3 Python*/

}

 

posted @ 2019-07-26 12:08  GJH-  阅读(119)  评论(0)    收藏  举报