首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
函数参数与返回值
传递变长参数
defer 和追踪
内置函数
递归函数
将函数作为参数
闭包
应用闭包:将函数作为返回值
使用闭包调试
计算函数执行时间
通过内存缓存来提升性能
声明和初始化
切片
For-range 结构
切片重组(reslice)
切片的复制与追加
字符串、数组和切片的应用
声明、初始化和 make
测试键值对是否存在及删除元素
for-range 的配套用法
map 类型的切片
map 的排序
将 map 的键值对调
标准库概述
regexp 包
锁和 sync 包
精密计算和 big 包
自定义包和可见性
为自定义包使用 godoc
使用 go install 安装自定义包
自定义包的目录结构、go install 和 go test
通过 Git 打包和安装
Go 的外部包和项目
在 Go 程序中使用外部库
结构体定义
使用工厂方法创建结构体实例
使用自定义包中的结构体
带标签的结构体
匿名字段和内嵌结构体
方法
类型的 String() 方法和格式化描述符
垃圾回收和 SetFinalizer
当前位置:
首页>>
技术小册>>
go编程权威指南(二)
小册名称:go编程权威指南(二)
**Shell 数组** 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。 与大部分编程语言类似,数组元素的下标由 0 开始。 Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: ```shell array_name=(value1 value2 ... valuen) ``` ------------ **定义一个数组** ```shell #!/bin/bash # author:xiaofeng my_array=(A B "C" D) ``` 我们也可以使用下标来定义数组: ``` array_name[0]=value0 array_name[1]=value1 array_name[2]=value2 ``` ------------ **读取数组** 读取数组元素值的一般格式是: ${array_name[index]} 示例: ```shell #!/bin/bash # author:xiaofeng my_array=(A B "C" D) echo "第一个元素为: ${my_array[0]}" echo "第二个元素为: ${my_array[1]}" echo "第三个元素为: ${my_array[2]}" echo "第四个元素为: ${my_array[3]}" ``` ------------ **获取数组中的所有元素** 使用@ 或 * 可以获取数组中的所有元素,例如: ```shell #!/bin/bash # author:xiaofeng my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组的元素为: ${my_array[*]}" echo "数组的元素为: ${my_array[@]}" ``` ------------ **获取数组的长度** 获取数组长度的方法与获取字符串长度的方法相同,例如: ```shell #!/bin/bash # author:xiaofeng my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组元素个数为: ${#my_array[*]}" echo "数组元素个数为: ${#my_array[@]}" ``` ------------ **关联数组** 关联数组可以使用非数字作为下标,可以是任意字符串 定义一个名为user_info的数组 ```shell #!/bin/bash declare -A userinfo userinfo=(['name']='xiaofeng' ['age']=21) echo ${userinfo['name']} echo ${userinfo['age']} echo ${!userinfo[*]} # 打印索引 echo ${userinfo[*]} # 打印值 ``` 或者,使用如下方式声明关联数组: ``` #!/bin/bash declare -A userinfo userinfo['name']='xiaofeng' userinfo['age']='21' echo ${userinfo['name']} echo ${userinfo['age']} echo ${!userinfo[*]} # 打印索引 echo ${userinfo[*]} # 打印值 ``` 遍历数组: ```bash #!/bin/bash declare -A userinfo userinfo['name']='xiaofeng' userinfo['age']='21' for i in ${userinfo[@]};do echo $i done ```
上一篇:
shell编程-循环
下一篇:
shell编程-运算符
该分类下的相关小册推荐:
深入浅出Go语言核心编程(七)
Golang修炼指南
go编程权威指南(一)
go编程权威指南(四)
WebRTC音视频开发实战
GO面试指南
go编程权威指南(三)
Go开发权威指南(下)
Go开发基础入门
Golang并发编程实战
企业级Go应用开发从零开始
深入浅出Go语言核心编程(六)