zoukankan      html  css  js  c++  java
  • Go语言基础之数组

    Go语言基础之数组

    数组是Go语言中最常使用的数据结构之一,数组就是直一系列同一类型数据结构的集合。数组中包含的每个数据被称为数组元素,一个数组包含的元素个数被称为数组的长度

    数组的声明方法

    以下为一些常规的数组声明方法:

    [32]byte                        // 长度为32的数组,每个元素为1字节
    [2*N] srtuct {x, y int32}       //复杂类型数组
    [1000]*floadt64                 // 指针数组
    [3][5]int                       // 二维数组
    [2][2][2]float64                // 三位数组
    

    数组长度在定义后就不可更改,数组的长度是该数组类型的一个内置常量。可以使用内置函数len()来获取

    var a = [5]string
    
    arrLength := len(a)
    

    元素访问

    数组的下标(索引)是从0开始的,len(array) - 1 则表示最后一个元素的位置

    for i := 0; i < len(array); i ++ {
        fmt.Println("Element", i, "of array is", array[i])
    }
    // 或者
    for index, value := range array {
        fmt.Println("Element", index, "of array is", value)
    }
    

    其中,range具有两个返回值,第一个是元素的数组下标(索引),第二个返回值是元素的值

    Go中的range关键之就是一个枚举类型,map中枚举的是key-value,数组中枚举的是index-value。

    值类型

    Go中的数组是一个值类型(valuetype),所有的值类型变量,在复制和作为参数传递时,都将产生一次复制动作,如果将数组作为函数的参数类型,则在函数调用时参数数据将发生数据复制,因此,在函数体中无法修改传入的数组的内容,因为函数内操作的只是传入数组的一个副本。

    package main
    
    import (
        "fmt"
    )
    
    func modify(array [5]int) {
        array[0] = 12
        fmt.Println("In modify(), array values:", array)
    }
    
    func main() {
        array := [5]int{1, 2, 3, 4, 5}
        modify(array)
        fmt.Println("In main(), array values:", array)
    }
    
  • 相关阅读:
    94. Binary Tree Inorder Traversal
    101. Symmetric Tree
    38. Count and Say
    28. Implement strStr()
    实训团队心得(1)
    探索性测试入门
    LC.278. First Bad Version
    Search in Unknown Sized Sorted Array
    LC.88. Merge Sorted Array
    LC.283.Move Zeroes
  • 原文地址:https://www.cnblogs.com/linga/p/12487368.html
Copyright © 2011-2022 走看看