4

Golang:3.1、Golang 数组

 1 year ago
source link: https://blog.51cto.com/mouday/5766995
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Golang:3.1、Golang 数组

精选 原创

彭世瑜 2022-10-18 16:00:56 ©著作权

文章标签 初始化 数组 数组长度 文章分类 Go语言 编程语言 yyds干货盘点 阅读数186

数组:相同数据类型的一组数据的集合

  • 数组长度不能修改
  • 数组可以通过下标(索引)访问元素
  • 数组默认初始化为零值
var variable_name [SIZE] variable_type
package main

import "fmt"

func main() {
    var arr1 [2]string
    var arr2 [3]int

    fmt.Printf("arr1: %v\n", arr1) // arr1: [ ]
    fmt.Printf("arr1: %T\n", arr1) // arr1: [2]string

    fmt.Printf("arr2: %v\n", arr2) // arr2: [0 0 0]
    fmt.Printf("arr2: %T\n", arr2) // arr2: [3]int

}

package main

import "fmt"

func main() {
    var arr1 = [2]string{"Tom", "Jack"}
    var arr2 = [3]int{1, 2, 3}
    var arr3 = [2]bool{true, false}

    fmt.Printf("arr1: %v\n", arr1)
    // arr1: [Tom Jack]

    fmt.Printf("arr2: %v\n", arr2)
    // arr2: [1 2 3]

    fmt.Printf("arr3: %v\n", arr3)
    // arr3: [true false]
}

可以省略长度

var arr1 = [...]int{1, 2, 3}

// 等价于
// var arr1 = [3]int{1, 2, 3}

fmt.Printf("len: %v\n", len(arr1))
// len: 3

指定索引值

package main

import "fmt"

func main() {
    // 未指定的值初始化为零值
    var arr1 = [...]int{0: 1, 2: 3}

    fmt.Printf("arr1: %v\n", arr1)
    // arr1: [1 0 3]

}

访问数组元素

package main

import "fmt"

func main() {

    var arr1 [3]int
    fmt.Printf("arr1: %v\n", arr1)
    // arr1: [0 0 0]

    // 赋值
    arr1[0] = 1
    arr1[2] = 2
    fmt.Printf("arr1: %v\n", arr1)
    // arr1: [1 0 2]

    // 取值
    fmt.Printf("arr1[0]: %v\n", arr1[0])
    // arr1[0]: 1

    // 获取数组长度
    fmt.Printf("len(arr1): %v\n", len(arr1))
    // len(arr1): 3

    // 数组长度越界
    fmt.Printf("arr1[0]: %v\n", arr1[3])
    // invalid argument: index 3 out of bounds [0:3]
}

方式一:for

package main

import "fmt"

func main() {

    var arr = [...]int{100, 200, 300}

    // 快捷键for + tab
    for i := 0; i < len(arr); i++ {
        fmt.Printf("arr[%v]=%v\n", i, arr[i])
    }

    // arr[0]=100
    // arr[1]=200
    // arr[2]=300
}

方式二:for…range

package main

import "fmt"

func main() {

    var arr = [...]int{100, 200, 300}

    // 快捷键forr + tab
    // 索引, 值
    for index, value := range arr {
        fmt.Printf("arr[%v]=%v\n", index, value)
    }

    // arr[0]=100
    // arr[1]=200
    // arr[2]=300
}

  • 打赏
  • 收藏
  • 4评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK