首页 > 其他分享 >01.数组

01.数组

时间:2024-07-08 15:57:45浏览次数:22  
标签:arr 01 matrix fmt 数组 Println main

在 Go 语言中,数组是一种固定长度的序列,它可以存储相同类型的元素。下面详细介绍数组的定义、初始化、访问和操作。

数组的定义

数组的定义语法为:[n]T,其中 n 表示数组的长度,T 表示数组元素的类型。

package main

import "fmt"

func main() {
    // 定义一个长度为 5 的整数数组
    var arr [5]int
    fmt.Println(arr) // 输出:[0 0 0 0 0]

    // 定义一个长度为 3 的字符串数组
    var strArr [3]string
    fmt.Println(strArr) // 输出:[  ]
}

 

数组的访问

数组元素的访问通过索引进行,索引从 0 开始。

package main

import "fmt"

func main() {
    arr := [5]int{10, 20, 30, 40, 50}
    
    // 访问数组元素
    fmt.Println(arr[0]) // 输出:10
    fmt.Println(arr[4]) // 输出:50

    // 修改数组元素
    arr[2] = 100
    fmt.Println(arr) // 输出:[10 20 100 40 50]

    // 获取数组长度
    fmt.Println(len(arr)) // 输出:5
}

 

数组的遍历

可以使用 for 循环或 range 关键字遍历数组。

package main

import "fmt"

func main() {
    arr := [5]int{10, 20, 30, 40, 50}
    
    // 使用传统的 for 循环遍历数组
    for i := 0; i < len(arr); i++ {
        fmt.Println(arr[i])
    }

    // 使用 range 关键字遍历数组
    for index, value := range arr {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }
}

 

数组的多维数组

Go 语言支持多维数组(如二维数组)。

package main

import "fmt"

func main() {
    // 定义一个 2x3 的二维数组
    var matrix [2][3]int
    
    // 初始化二维数组
    matrix = [2][3]int{
        {1, 2, 3},
        {4, 5, 6},
    }

    fmt.Println(matrix) // 输出:[[1 2 3] [4 5 6]]

    // 访问二维数组元素
    fmt.Println(matrix[0][1]) // 输出:2

    // 遍历二维数组
    for i := 0; i < len(matrix); i++ {
        for j := 0; j < len(matrix[i]); j++ {
            fmt.Printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j])
        }
    }
}

 

综合示例

下面的代码展示了数组的定义、初始化、访问和操作。

package main

import "fmt"

func main() {
    // 定义和初始化数组
    var numbers [5]int
    numbers = [5]int{1, 2, 3, 4, 5}

    // 访问数组元素
    fmt.Println("Array:", numbers)
    fmt.Println("Element at index 2:", numbers[2])

    // 修改数组元素
    numbers[2] = 100
    fmt.Println("Modified Array:", numbers)

    // 数组长度
    fmt.Println("Length of array:", len(numbers))

    // 遍历数组
    fmt.Println("Array elements:")
    for i := 0; i < len(numbers); i++ {
        fmt.Println(numbers[i])
    }

    // 使用 range 遍历数组
    fmt.Println("Array elements with range:")
    for index, value := range numbers {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }

    // 多维数组
    var matrix [2][3]int
    matrix = [2][3]int{
        {1, 2, 3},
        {4, 5, 6},
    }

    fmt.Println("2D Array:", matrix)

    // 遍历多维数组
    fmt.Println("2D Array elements:")
    for i := 0; i < len(matrix); i++ {
        for j := 0; j < len(matrix[i]); j++ {
            fmt.Printf("matrix[%d][%d] = %d\n", i, j, matrix[i][j])
        }
    }
}

 

标签:arr,01,matrix,fmt,数组,Println,main
From: https://www.cnblogs.com/JJJHaoran/p/18290070

相关文章

  • [NOIP2011 提高组] 聪明的质监员
    [NOIP2011提高组]聪明的质监员题目描述小T是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有\(n\)个矿石,从\(1\)到\(n\)逐一编号,每个矿石都有自己的重量\(w_i\)以及价值\(v_i\)。检验矿产的流程是:给定$m$个区间\([l_i,r_i]\);选出一个参数\(W\);对......
  • C语言 指针和数组——指针数组的应用:命令行参数
    目录命令行参数演示命令行参数与main函数形参间的关系命令行参数什么是命令行参数(CommandLineArguments)?GUI界面之前,计算机的操作界面都是字符式的命令行界面(DOS、UNIX、Linux)例如,在DOS下拷贝文件用copyfile1.cfile2.c不......
  • 应用程序无法正常启动(0xc0150002)的解决思路
    背景介绍一测试朋友,因为重装了操作系统,然后之前的工具突然无法使用了。现象现象1现象2解决现象1很显然,缺少运行库。你如果安装了visualstudio,那么其安装目录下xxx\MicrosoftVisualStudio\2019\Professional\VC\Redist\MSVC会存在需要的运行库或者是运行库安装......
  • Python酷库之旅-第三方库Pandas(010)
    目录一、用法精讲22、pandas.read_hdf函数22-1、语法22-2、参数22-3、功能22-4、返回值22-5、说明22-6、用法22-6-1、数据准备22-6-2、代码示例22-6-3、结果输出23、pandas.HDFStore.put方法23-1、语法23-2、参数23-3、功能23-4、返回值23-5、说明23-6、用法......
  • Pytnon变量print打印计数显示前面补零 0001、0002
    前言全局说明Pytnon变量计数显示前面补零0001、0002一、说明环境:Windows11家庭版23H222631.3737Python3.8.10(tags/v3.8.10:3d8993a,May32021,11:48:03)[MSCv.192864bit(AMD64)]onwin32二、变量print打印计数显示前面补零0001、0002>>>frame_co......
  • 二位数组
    #include<iostream>//二维数组在函数中的传递//1.一维数组//2.函数√//3传递的方式√//4.返回二维数组usingnamespacestd;intmain(){ /* 1.二维数组的初始化定义: inta[][];//定义方式错误,编译不成功 intb[][2];//定义方式错误 intc[2][];//定义方式错误......
  • JS根据json数组多个字段排序及json数组常用操作
    本文转载自:https://www.jb51.net/article/162623.htm js根据json数组多个字段排序的实现代码如下所示:1/**数组根据数组对象中的某个属性值进行排序的方法2*使用例子:newArray.sort(sortByArr(['number'],false))//表示根据number属性降序排列;若第二个参数不传递,默......
  • 01、基础介绍
    Kubernetes介绍和各组件盘点01、K8S总览Kubernetes(K8s),用于自动部署、扩容、缩容和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes源自Google15年生产环境的运维经验,同时凝聚了社区最佳创意和实践。简单讲,K8s就是一......
  • P4688 Ynoi2016 掉进兔子洞
    P4688Ynoi2016掉进兔子洞经典莫队加bitset。思路不难发现最终答案就是:\[(r_1-l_1+1)+(r_2-l_2+1)+(r_3-l_3+1)-3\timessize\]其中\(size\)表示3个区间内出现了多少个公共元素。看到这么多区间,不妨有把区间拆下来搞莫队的想法。先不考虑询问个数的限制,我们考虑使用......
  • [CISCN2019 华北赛区 Day1 Web2]ikun
    进入题目发现找到lv6查看源码发现用lv标志点击下一页发现url参数page写脚本importrequestsforiinrange(500):url="http://248e4e18-a7a1-4bb1-adc1-e3a177974773.node4.buuoj.cn:81/shop?page={}".format(i)reponse=requests.get(url)if"lv6.png"inreponse.tex......