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. monkey怎么做APP自动化?

    前言: monkey是andriod平台自动化测试的一种手段,通过monkey程序模拟触摸屏幕.滑动,滚屏,按键来对设备进行压力测试,检测程序多久会出现异常第一种:设置好命令,做随机自动化 什么时候可 ...

  2. Jenkins_构建任务提示文件权限不足的处理方法

    问题现象 构建任务失败,查看日志提示读取文件权限不足. 问题分析 在linux上查看对应文件,发现这些文件只有root用户才有读的权限,jenkins默认是以jenkins用户在操作linux系统,因 ...

  3. C# winform 遍历所有页面的所有控件 ,然后判断组件类型是什么

    //循环整个form上的控件 foreach (Control c in this.Controls) { //看看是不是checkbox if (c is CheckBox) { //将找到的con ...

  4. Centos7 查看文件命令总结

    ls命令 ls -d --文件或者目录是否存在 ls -l 或者ll --显示详细信息 ls -lt --文件按时间顺序排序(升序) ls -ltr --按时间倒叙排序 ls -i --显示索引节点 ...

  5. axios发送两次请求问题解决

    在使用axios的过程中,会发送两次请求. 看了下是因为有一个请求是OPTIONS来判断跨域的时候让不让发送请求的. 这个不算是一个bug,但是发送两个请求着实让人看着不舒服.于是修改了下,原来的请求 ...

  6. 手动安装selenium包

    1.下载selenium安装包 https://pypi.org/project/selenium 2.解压selenium-3.12.0.tar.gz 3.cmd环境进入到selenium的setu ...

  7. 【Android】安卓四大组件之Activity(二)

    [Android]安卓四大组件之Activity(二) 前言 在这篇文章之前,我已经写过了一篇有关Activity的内容,是关于activity之间的页面跳转和数据传递,而这篇文章着重强调的是Acti ...

  8. linux base脚本编写-自动领取微信红包

    bash脚本编写 语法 变量 定义: your_name = "ABC" 使用: echo $your_name 只读变量 a = "123" readonly ...

  9. 第57篇-profile实例

    之前已经介绍过回边计数和ProfileData与Layout,下面举个具体的例子看下MethodData是怎么利用ProfileData等记录详细的运行时信息的.实例如下: package com.t ...

  10. [Vue] Vue2 + @vue/composition-api 的一个坑

    Vue2 + @vue/composition-api 和 Vue3 composition api 不一致的地方(待验证) <div v-for="item in arr" ...