package main

import "fmt"

/*
数组:
array数组属于值类型,存储的是数值本身,数据传递给其他变量时传递的是数据的副本。
slice,map等属于引用类型,存储的是数据的内存地址。
*/
func main() {
//数组创建和访问
var arr1 [4]int //创建数组,定长
arr1[0] = 1
arr1[1] = 2
arr1[2] = 3
arr1[3] = 4
fmt.Println(arr1[0], arr1[2])
//长度和容量,array/map/slice/string通用
fmt.Println(len(arr1)) //长度,容器中实际存储的数据量
fmt.Println(cap(arr1)) //容量,容器中能够存储的最大数据量
fmt.Println("==============") //数组的其他创建方式
var arr2 = [5]int{1, 2, 3} //未定义的位置为0
fmt.Println(arr2) var arr3 = [5]int{1: 1, 3: 2}
fmt.Println(arr3) var arr4 = [5]string{"rose", "小王", "ruby"} //未定义的位置为空字符串
fmt.Println(arr4) arr5 := [...]int{1, 2, 3}
arr6 := [...]int{1: 4, 5: 3}
fmt.Println(len(arr5), cap(arr5))
fmt.Println(len(arr6), cap(arr6)) fmt.Println("==============") //数组的遍历
for i := 0; i < len(arr1); i++ {
arr1[i] = arr1[i]*2 + 1
}
fmt.Println(arr1) for i, v := range arr1 {
fmt.Printf("下标%d,数值%d\n", i, v)
} fmt.Println("==============") //数组的排序(冒泡)
arr := [5]int{15, 23, 8, 10, 7}
for i := 1; i < len(arr); i++ {
for j := 0; j < len(arr)-i; j++ {
if arr[j] > arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
}
fmt.Println(arr)
fmt.Println("==============") //二维数组
a := [2][3]int{{1, 2, 3}, {4, 5, 6}}
fmt.Println(a[0][1]) //第一个一维数组中的第二个元素
//遍历
for i := 0; i < len(a); i++ {
for j := 0; j < len(a[i]); j++ {
fmt.Print(a[i][j], "\t")
}
fmt.Println() //换行
}
//range遍历
for _, arr_v1 := range a {
for _, val := range arr_v1 {
fmt.Print(val, "\t")
}
fmt.Println()
}
}

执行结果

1 3
4
4
==============
[1 2 3 0 0]
[0 1 0 2 0]
[rose 小王 ruby ]
3 3
6 6
==============
[3 5 7 9]
下标0,数值3
下标1,数值5
下标2,数值7
下标3,数值9
==============
[7 8 10 15 23]
==============
2
1 2 3
4 5 6
1 2 3
4 5 6

go基础——数组array的更多相关文章

  1. 算法与数据结构基础 - 数组(Array)

    数组基础 数组是最基础的数据结构,特点是O(1)时间读取任意下标元素,经常应用于排序(Sort).双指针(Two Pointers).二分查找(Binary Search).动态规划(DP)等算法.顺 ...

  2. Java基础——数组Array

    一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三 ...

  3. Linux数组array基础

    Linux数组array基础[${a[*]}和$a的区别] Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[i ...

  4. Javascript基础系列之(四)数据类型 (数组 array)

    字符串,数值,布尔值都属于离散值(scalar),如果某个变量是离散的,那么任何时候它只有一个值. 如果想使用变量存储一组值,就需要使用数组(array). 数组是由多个名称相同的树值构成的集合,集合 ...

  5. JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)

    ①文本对象document: 例如:document.getElementById()    只获取一个对象          document.getElementsByTagName()   获取 ...

  6. PHP基础 数组函数 的总结

    <?php /** * PHP基础 数组操作函数 * * 指针函数:[类似于数据库的游标] 见例1.1 * current($arr)/pos 返回当前指针指向的元素 * key($arr) 返 ...

  7. 我理解的数据结构(一)—— 数组(Array)

    我理解的数据结构(一)-- 数组(Array) 首先,我是一个phper,但是毕竟php是一个脚本语言,如果使用脚本语言去理解数据结构具有一定的局限性.因为脚本语言是不需要编译的,如果你的语法写的不错 ...

  8. Java-杂项:Java数组Array和集合List、Set、Map

    ylbtech-Java-杂项:Java数组Array和集合List.Set.Map 1.返回顶部 1. 之前一直分不清楚java中的array,list.同时对set,map,list的用法彻底迷糊 ...

  9. Java基础--数组(Arrays)

    数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理.本篇博客是对Java基础中的数组进行详细说明. 目录: 数组的概述 一维数组 ...

随机推荐

  1. Kerberos打开debug日志

    在JVM的启动参数中加入如下配置,打开kerberos的debug开关: -Dsun.security.krb5.debug=true JVM启动后,kerberos的相关日志会打印到控制台中, 因为 ...

  2. 使用 Docker 构建和运行自己的镜像

    步骤 首先,从 GitHub 中克隆示例项目: git clone https://github.com/dockersamples/node-bulletin-board cd node-bulle ...

  3. Git 远程分支常用操作

    # 查看远程仓库推拉地址,分支信息,分支跟踪情况等 git remote show origin # 拉取远程仓库的变更内容到本地 git fetch origin # 拉取并合并仓库的变更内容到本地 ...

  4. Selenium_使用switch_to.alert处理弹窗(14)

    与switch_to.window 和 switch_to.frame 相比,switch_to.alert的alert方法使用了@property 装饰器,所以在使用时alert被当成属性调用. 演 ...

  5. js- float类型相减 出现无限小数的问题

    6.3 -1.1 是不是应该等于5.2? 但是js 会导致得出 5.19999999999的结果 怎么办?可以先先乘100 后相减,然是用方法 舍入为最接近的整数,然后再除于100, Math.rou ...

  6. [服务器部署] Flask + virtualenv + uWSGI + Nginx 遇到的问题

    1.配置好了Flask + virtualenv +uWSGI,启动uWSGI并调试,网页显示 Internal Server Error 参考:https://www.cnblogs.com/cle ...

  7. 怎样查看Jenkins的版本

    where to check jenkins version To identify your current version of Jenkins, you can do one of two th ...

  8. 谷歌性能测评工具lighthouse使用

    1.谷歌插件lighthouse的基本介绍 Lighthouse 是一个网站性能测评工具, 它是 Google Chrome 推出的一个开源自动化工具,能够对 PWA 和网页多方面的效果指标进行评测, ...

  9. Solon 开发,三、构建一个Bean的三种方式

    Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...

  10. 《剑指offer》面试题05. 替换空格

    问题描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20a ...