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)
    }
    
  • 相关阅读:
    Spring Boot日志管理
    JProfiler
    JProfiler学习笔记
    jprofiler安装图解
    方便!C++ builder快捷键大全
    QuickFix/N简介
    QuickFIX/N入门:(三)如何配置QuickFIX/N
    java自带线程池和队列详细讲解
    SQLYog快捷键大全
    DBCP连接池配置参数说明
  • 原文地址:https://www.cnblogs.com/linga/p/12487368.html
Copyright © 2011-2022 走看看