数组的常规用法

5年以前  |  阅读数:264 次  |  编程语言:Golang 

以下示例用来说明数组定义初始化,及常用操作,如求长度,容量。

package main

import "fmt"

func main() {
    // 定义长度为 5 的数组
    var arr1 [5]int
    for i := 0; i < 5; i++ {
        arr1[i] = i
    }
    printHelper("arr1", arr1)

    // 以下赋值会类型不匹配错误,因为数组长度是数组类型的一部分
    // arr1 = [3]int{1, 2, 3}

    // 长度和元素类型都相同,可以正确赋值
    arr1 = [5]int{2, 3, 4, 5, 6} 

    // 简写模式,在定义的同时给出了赋值
    arr2 := [5]int{0, 1, 2, 3, 4}
    printHelper("arr2", arr2)

    // 数组元素类型相同并且数组长度相等的情况下,数组可以进行比较
    fmt.Println(arr1 == arr2)

    // 也可以不显式定义数组长度,由编译器完成长度计算
    var arr3 = [...]int{0, 1, 2, 3, 4}
    printHelper("arr3", arr3)

    // 定义前四个元素为默认值 0,最后一个元素为 -1
    var arr4 = [...]int{4: -1}
    printHelper("arr4", arr4)

    // 多维数组
    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("twoD: ", twoD)
}

func printHelper(name string, arr [5]int) {
    for i := 0; i < 5; i++ {
        fmt.Printf("%v[%v]: %v\n", name, i, arr[i])
    }

    // len 获取长度
    fmt.Printf("len of %v: %v\n", name, len(arr))

    // cap 也可以用来获取数组长度
    fmt.Printf("cap of %v: %v\n", name, cap(arr))

    fmt.Println()
}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
将二进制数据转为16进制以便显示
获取IMSI
获取IMEI
Java生成UUID
PHP自定义函数获取搜索引擎来源关键字的方法
让你成为最历害的git提交人
在Zeus Web Server中安装PHP语言支持
指定应用ID以获取对应的应用名称
再谈PHP中单双引号的区别详解
Python 2与Python 3版本和编码的对比
php+ajax+json 详解及实例代码
php封装的page分页类完整实例
Yii2汉字转拼音类的实例代码
php数组合并array_merge()函数使用注意事项
PHP实现简单爬虫的方法
PHP设计模式之工厂模式与单例模式
php实现数组中索引关联数据转换成json对象的方法
wget使用技巧