Go语言基础数组用法及示例详解
目录
- 概述
- 语法
- 注意
- 示例
概述
- 固定长度,数组声明后长度便不能再修改
- 只能存储一种特定类型元素的序列
语法
编号 | 方式 | 代码示例 |
---|---|---|
1 | 直接声明 | var arr [3]int |
2 | make | arr:=make([]int,3) |
3 | 字面量 | arr:=[3]int{1,2,3} |
4 | 自动识别长度 | arr:=[…]int{1,2,3} |
5 | 二维数组 | arr := [4][4]int{{1}, {1, 2}, {1, 2, 3}} |
6 | new | arrp := new([10]int) |
7 | 下标取值 | arr[0—size-1] |
注意
1. 使用new来创建数组,此方法返回一个指向数组的指针
2. 数组之间可以使用==或!=进行比较,但不可以使用<或>
3. 数组在Go中为值类型
4.注意区分指向数组的指针和指针数组
示例
package main import "fmt" func main() { //直接声明 var ages [3]int fmt.Println(ages) //字面量 names := [3]string{"张三", "李四", "王五"} fmt.Println(names) //make arr := make([]int, 3) fmt.Println(arr) //自动识别长度 arr1 := [...]string{"张三", "李四"} fmt.Println(arr1) //new arr2 := new([3]int) fmt.Println(arr2) //二维数组 iarray6 := [4][4]int32{{1}, {1, 2}, {1, 2, 3}} fmt.Println(iarray6) //数组截取【下标是从0开始】 fmt.Println(iarray6[1:2]) //指针 p := new([4]int) fmt.Println(*p) }
以上就是Go语言基础数组用法及示例详解的详细内容,更多关于Go语言数组的资料请关注我们其它相关文章!
相关推荐
-
GO语言基础之数组
1.申明一个数组 var a[2] int 或者 a:=[2]int{1,2} 2.数组索引 数组就是索引的来建立如下图 我们再来一个测试 3.go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明 复制代码 代码如下: a:=[...]int{1,2,3,45} 4.指针数组 复制代码 代码如下: a:=[3]int{1,2,3} var p * [3]int = &a //这种是指针数组 我们看到可以直接输出指向数组的指针 x , y :=1 ,3 a := [...]*int{&a
-
Go语言基础结构体用法及示例详解
目录 概述 语法 结构体定义的三种形式 第一种[基本的实例化] 第二种[指针类型的结构体] 第三种[取结构体的地址实例化,通过&的操作] 初始化结构体 键值对初始化结构体 值列表填充结构体 匿名结构体 访问结构体成员 结构体作为函数参数 结构体指针 添加结构体方法 总结 示例 概述 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 语法 定义结构体[标识自定义结构体的名称,在同一个包内不能重复] type 结构名 struct { 字段1: 字段1的值, 字段2: 字段2的值, ...
-
深入理解Go语言中的数组和切片
一.类型 数组是值类型,将一个数组赋值给另一个数组时,传递的是一份拷贝. 切片是引用类型,切片包装的数组称为该切片的底层数组. 我们来看一段代码 //a是一个数组,注意数组是一个固定长度的,初始化时候必须要指定长度,不指定长度的话就是切片了 a := [3]int{1, 2, 3} //b是数组,是a的一份拷贝 b := a //c是切片,是引用类型,底层数组是a c := a[:] for i := 0; i < len(a); i++ { a[i] = a[i] + 1 } //改变a的值后
-
Go语言基础map用法及示例详解
目录 概述 语法 声明和初始化 读取 删除 遍历 总结 示例 概述 map是基于key-value键值对的无序的集合 Go语言中的map是引用类型 必须初始化才能使用. 语法 声明和初始化 配合make使用,否则是nil var map[KeyType]ValueType //KeyType:表示键的类型 //ValueType:表示键对应的值的类型 make(map[KeyType]ValueType, [cap]) //cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map
-
Go语言基础切片的创建及初始化示例详解
目录 概述 语法 一.创建和初始化切片 make 字面量 二.使用切片 赋值和切片 切片增长 遍历切片 总结 总示例 示例一 两个slice是否相等 示例二 两个数字是否包含 概述 切片是一种动态数组 按需自动改变大小 与数组相比,切片的长度可以在运行时修改 语法 一.创建和初始化切片 make 使用内置函数make()创建切片: var slice []type = make([]type, len, cap) //简写: slice := make([]type, len, cap) 字面
-
Go语言基础函数基本用法及示例详解
目录 概述 语法 函数定义 一.函数参数 无参数无返回 有参数有返回 函数值传递 函数引用传递 可变参数列表 无默认参数 函数作为参数 二.返回值 多个返回值 跳过返回值 匿名函数 匿名函数可以赋值给一个变量 为函数类型添加方法 总结 示例 概述 函数是基本的代码块,用于执行一个任务 语法 函数定义 func 函数名称( 参数列表] ) (返回值列表]){ 执行语句 } 一.函数参数 无参数无返回 func add() 有参数有返回 func add(a, b int) int 函数值传递 fu
-
Go语言基础数组用法及示例详解
目录 概述 语法 注意 示例 概述 固定长度,数组声明后长度便不能再修改 只能存储一种特定类型元素的序列 语法 编号 方式 代码示例 1 直接声明 var arr [3]int 2 make arr:=make([]int,3) 3 字面量 arr:=[3]int{1,2,3} 4 自动识别长度 arr:=[-]int{1,2,3} 5 二维数组 arr := [4][4]int{{1}, {1, 2}, {1, 2, 3}} 6 new arrp := new([10]int) 7 下标取值
-
Go语言基础单元测试与性能测试示例详解
目录 概述 单元测试 代码说明如下 问题 注意 性能测试 基本使用 自定义测试时间 概述 测试不是Go语言独有的,其实在很多语言都有测试,例如:Go.Java.Python- 要想成为一名合格的大牛,这是程序员必须具备的一项技能,特别是一些大公司,这是加分的一项,主要有如下优点: 代码可以随时测试,保证代码不会产生错误 写出更加高效的代码 testing文档 Testing_flags文档 单元测试 格式:func TestXXX(t *testing.T) //add.go package c
-
Go语言基础for循环语句的用法及示例详解
目录 概述 语法 注意 示例一 死循环,读取文件 示例二 打印乘法表 示例三 遍历字符串,数组,map 概述 for循环是一个循环控制结构,可以执行指定次数的循环 语法 第一种 for {} //无线循环 第二种 for 条件语句{} 第三种 for 初始语句; 条件语句; 迭代后语句 {} 第四种 for key,value:=range 表达式/变量{} 注意 省略初始条件,相当于while循环体必须用 { } 括起来初始化语句和后置语句是可选的如果只剩下条件表达式了,那么那两个分号也
-
Go语言基础go build命令用法及示例详解
目录 go build 一个Go项目在GOPATH下,会有如下三个目录 使用: 注意: go build 1. 用于测试编译多个包或一个main包 2. build命令编译包丢弃非main包编译结果,只是检查是否能够被编译 3. 保留main包编译结果 一个Go项目在GOPATH下,会有如下三个目录 bin存放编译后的可执行文件 pkg存放编译后的包文件 src存放项目源文件 一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目录即可. 使用:
-
Go语言基础枚举的用法及示例详解
目录 概述 一.普通枚举 二.自增枚举 注意 代码 概述 将变量的值一一列举出来,变量只限于列举出来的值的范围内取值 Go语言中没有枚举这种数据类型的,但是可以使用const配合iota模式来实现 一.普通枚举 const ( cpp = 0 java = 1 python = 2 golang = 3 ) 二.自增枚举 iota只能在常量的表达式中使用 fmt.Println(iota) //undefined: iota 它默认开始值是0,const中每增加一行加1 const ( a =
-
Go语言基础if条件语句用法及示例详解
目录 概述 语法 格式规则 概述 条件语句需要开发者通过指定一个或多个条件 并通过测试条件是否为 true 来决定是否执行指定语句 并在条件为 false 的情况再执行另外的语句. 语法 package main func main() { //第一种格式 if 条件表达式 { 语句1 } //第二种格式 if 初始化表达式; 条件表达式 { 语句1 } //第三种格式 if 初始化表达式; 条件表达式 { 语句1 }else{ 语句2 } //第四种格式 if 初始化表达式; 条件表达式 {
-
Go语言基础switch条件语句基本用法及示例详解
目录 概述 语法 第一种[switch 带上表达式] 第二种[switch 不带表达式] 第三种[switch 初始化,表达式] 注意 示例一[根据今天的日期打印今天星期几] 示例二[根据分数打印A,B,C,D] 示例三[算数] 概述 传入条件的不同,会执行不同的语句 每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止. 语法 第一种[switch 带上表达式] switch 表达式 { case 表达式1,表达式2, ... : 语句块1 case 表达式3, 表达式4, ... :
-
Go语言基础go doc命令用法及示例详解
目录 go doc 一.使用go doc命令在终端查看 go doc package go doc package/subpackage go doc package function 二.是使用浏览器查看的方式 go doc 为我们提供了快速生成文档以及查看文档的工具,让我们可以很容易的编写查看文档 一.使用go doc命令在终端查看 go doc package 获取包的文档注释 例如: go doc fmt 会显示使用 godoc 生成的 fmt 包的文档注释. go doc packag
随机推荐
- Angular2.js实现表单验证详解
- php的计数器程序
- python通过post提交数据的方法
- 优化Ruby代码使程序运行速度提高的例子
- Javascript中级语法快速入手
- 注册表导出管理员密码文件
- 用vbs确定用户的登录名的代码
- kNN算法python实现和简单数字识别的方法
- JavaScript实现动态增删表格的方法
- Android垃圾回收机制解决内存泄露问题
- 解析php如何将日志写进syslog
- 统计网卡流量的两段shell脚本(使用ifconfig)
- Mysql中Insert into xxx on duplicate key update问题
- 用PHP和ACCESS写聊天室(一)
- 算法系列15天速成 第五天 五大经典查找【中】
- PHP加密解密函数详解
- 使用scp获取远程linux服务器上的文件 linux远程拷贝文件
- 将备份数据还原到数据库的步骤
- 在sp_executesql中使用like字句的方法
- JavaScript获取键盘按键的键码(参照表)