golang之数组
1.数组:同一种数据类型的固定长度的序列。
2.数组定义:var a [len]int,例如:var a [5]int
3.长度是数组类型的一部分,因此,var a[5] int 和 var a[10]int 是不同的类型
4.数组可以通过下标进行访问,下标是从0开始,最后一个元素是len-1
for i:=0;i<len(a);i++{
}
5.访问越界,如果下标在数组合法范围之外,就会触发越界,panic异常
package main
import "fmt"
func main() {
var a []int
a[] =
fmt.Println(a)
for i := ; i < len(a); i++ {
fmt.Println(a[i])
}
for index, val := range a {
fmt.Printf("a[%d]==%d\n", index, val)
}
}
6.数组是值类型,因此改变副本的值,不会改变本身的值
package main
import "fmt"
func test2() {
var a []int
b := a
b[] =
fmt.Println(a)
}
//传递指针
func test3(arr *[]int) {
(*arr)[] =
}
func main() {
//test2()
var a []int
//传 地址,改变 值类型
test3(&a)
fmt.Println(a)
}
7.费波纳茨数列
package main import "fmt"
//菲波那切数列,非递归方式实现,打印前50个数
func fab(n int){
var a[]uint64
a = make([]uint64,n)
a[]=
a[]=
for i:=;i<n;i++{
a[i]=a[i-]+a[i-]
}
for _,v:=range a{
fmt.Println(v)
}
}
func main(){
fab()
}
8.声明数组,遍历数组
package main import "fmt" //数组的初始化
func testArray() {
var a []int = []int{, , , , }
var a1 = []int{, , , , }
var a2 = [...]int{, , , , , , }
var a3 = [...]int{: , : }
var a4 = [...]string{: "hello", : "world"}
fmt.Println(a)
fmt.Println(a1)
fmt.Println(a2)
fmt.Println(a3)
fmt.Println(a4)
} //多维数组
func muchArray() {
//两行五列的数组
var a [][]int = [...][]int{{, , , , }, {, , , , }}
for row,v:=range a{
for col,v1:=range v{
fmt.Printf("(%d,%d)=%d\n",row,col,v1)
}
}
} func main() {
//testArray()
muchArray()
}
golang之数组的更多相关文章
- Golang 入门 : 数组
数组是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),这种类型可以是任意的原始类型,比如 int.string 等,也可以是用户自定义的类型.一个数组包含的元素个数被 ...
- Golang的数组
Golang数组 package main import "fmt" func main() { // 定义一个长度为10,元素类型为string的值 li2 := [10]str ...
- Golang的数组初始化方式及for-range遍历
package main import ( "fmt" ) func main() { ]], , } //定义并初始化长度为3的数组 fmt.Println(arr1) //[1 ...
- [golang note] 数组切片
数组 √ golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length). √ golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量 ...
- golang json数组拼接
2016年06月16日 15:38:25 阅读数:2575 标签: golangjson数组 更多 个人分类: golang func main() { a := []byte(`{"P ...
- golang中数组指针与指针数组的区别实现
指针数组和数组的指针,指的是两个不同的东西. 指针数组是有指针组成的数组,数组的指针是一个数组的指针. package main import "fmt" const MAX ...
- golang笔记——数组与切片
一.切片的定义 我们可以从数组(go语言中很少直接使用数组)或者切片来初始化一个新的切片,也可以直接通过 make 来初始化一个所有元素为默认零值的切片. //1.通过数组来初始化切片 arr := ...
- 深入学习golang(1)—数组与切片
数据(array)与切片(slice) 数组声明: ArrayType = "[" ArrayLength "]" ElementType . 例如: va ...
- GOLang(数组操作随篇)
创建一个类似PHP Array $data["userInfo"] = ["name"=>"Josn","ages" ...
- golang 修改数组中结构体对象的值的坑
对对象数组逐个修改元素属性时候没有成功,代码如下: for _, configure := range configures { configure.Price = specPriceMap[conf ...
随机推荐
- 记一次git fatal: Unable to find remote helper for 'https'问题的解决
登陆到远程linux服务器上,使用git, clone的时候报“fatal: Unable to find remote helper for 'https'”错,没管,绕过,使用git clone ...
- mysql中的隐式转换
在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引.下面分析两种隐式转换的情况 看表结构 phone为 int类型,name为 varchar EXPLAI ...
- TypeScript学习笔记(八) - 声明文件
本篇将介绍TypeScript的声明文件,并简单演示一下如何编写和使用声明文件.本篇也是这个系列的最后一篇. 一.声明文件简介 TypeScript作为JavaScript的超集,在开发过程中不可避免 ...
- ACdream区域赛指导赛之手速赛系列(2)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/DaiHaoC83E15/article/details/26187183 回到作案现场 ...
- python一条语句分析几个常用函数和概念
前言 过年也没完全闲着,每天用一点点时间学点东西,本文为大家介绍几个python操作的细节,包含all.any.for in等操作,以及介绍我解决问题的思路. 一.开篇 先从我看到的一个简单的语句开始 ...
- IntelliJ IDEA 基础设置
原文地址:IntelliJ IDEA 基础设置 博客地址:http://www.extlight.com 一.前言 IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,Intel ...
- 二、jdk命令之javah命令(C Header and Stub File Generator)
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- expect学习笔记及用法
expect学习笔记及实例详解 expect的基本用法 expect用法
- Python3 使用requests请求,解码时出错:'utf8' codec can't decode byte 0x8b in position 1: invalid start byte
requests请求的响应内容能够通过几个属性获得: response.text 为解码之后的内容,解码会根据响应的HTTP Header中的Content-Type选择字符集.例如 "'C ...
- 正规式->最小化DFA说明
整体的步骤是三步: 一,先把正规式转换为NFA(非确定有穷自动机), 二,在把NFA通过"子集构造法"转化为DFA, 三,在把DFA通过"分割法"进行最小化 ...