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. 深入 Laravel 内核之装饰模式

    装饰模式核心内容: 装饰模式可以在不影响组件对象的情况下,以动态.透明的方式从外部给对象添加功能: 装饰器模式的本质就是动态组合.动态是手段,组合是目的.装饰模式是通过把复杂的功能简单化.分散化,在运 ...

  2. Spring Cloud Eureka源码分析之心跳续约及自我保护机制

    Eureka-Server是如何判断一个服务不可用的? Eureka是通过心跳续约的方式来检查各个服务提供者的健康状态. 实际上,在判断服务不可用这个部分,会分为两块逻辑. Eureka-Server ...

  3. linux系统安装python3和pip

    一.安装python 1.安装依赖环境 yum install gcc -y yum -y install zlib-devel bzip2-devel openssl-devel ncurses-d ...

  4. Servlet初级学习加入数据库操作(三)

    源代码地址(访问密码:7567):https://url56.ctfile.com/f/34653256-527822631-2e255a CRUD 增删改查 准备添加的操作 点击添加之后,出现新的页 ...

  5. Java 简单操作hdfs API

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6632047118376780295/ 启动Hadoop出现问题:datanode的clusterID 和 name ...

  6. nuxt中iview按需加载配置

    在plugins/iview.js中修改 初始代码如下 import Vue from 'vue' import iView from 'iview' import locale from 'ivie ...

  7. HITsz 数据库笔记

    这是 HITsz 数据库笔记,欢迎到我的 GitHub 上查看,有笔记说明和源码,作业和实验报告,希望对你有帮助 博客园显示图片异常 数据库基本概念 数据抽象 通过抽象来对用户屏蔽复杂性,以简化用户与 ...

  8. SSRF服务器端请求伪造漏洞基础

    0x00 思考 1.什么是SSRF漏洞?2.SSRF漏洞的利用方式3.SSRF漏洞绕过4.SSRF漏洞加固 0x01 什么是SSRF漏洞 定义:SSRF漏洞,中文全称为服务端请求伪造漏洞,是一种由攻击 ...

  9. 一条 Git 命令减少了一般存储空间,我的服务器在偷着笑

    元旦不是搭建了一个<Java 程序员进阶之路>的网站嘛,其中用到了 Git 来作为云服务器和 GitHub 远程仓库之间的同步工具. 作为开发者,相信大家都知道 Git 的重要性.Git ...

  10. Cesium入门4 - 创建Cesium Viewer

    Cesium入门4 - 创建Cesium Viewer Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 任何Ce ...