From 704b9201ce3a90c3319c01e5f6caba135e549b44 Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Sat, 25 Aug 2012 22:31:39 +0800 Subject: [PATCH] add array slice map --- 2.2.md | 23 +++++++++++++++++++++++ preface.md | 11 +++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/2.2.md b/2.2.md index 4aa8131a..bfe47568 100644 --- a/2.2.md +++ b/2.2.md @@ -233,12 +233,35 @@ GO里面有一个关键字`iota`,这个关键字用来申明enum的时候采 w // 常量申明省略值时,默认和之前一个值的字面相同。这里隐示的说w = iota,因此w==3, 其实上面y和z可以同样不用=iota ) +<<<<<<< HEAD const v = iota // 每遇到一个const关键字,iota被重置,此时 v==0 ## links * [目录]() * 上一章: [你好,GO](<2.1.md>) * 下一节: [流程和函数](<2.3.md>) +======= + +##array、slice、map + +###array +array就是数组,它的定义如下`[n]type`,n表示数组的长度,type表示存储内容的类型 + +对数组的操作和其他语言类似,都是通过`[]`来进行读取和赋值 + + var arr [10]int //申明了一个int类型的数组 arr[0] = 42 //数组下标是从0开始的 arr[1] = 13 //赋值操作 fmt.Printf("The first element is %d\n", arr[0]) //获取数据 + 由于数组的长度也是类型的一部分,所以数组是不能改变长度的,而且数组之间的赋值是值赋值,当把一个数组作为一个参数传入函数的时候,是这个数组的副本,而不是该数组的指针,如果要使用指针,那么就需要用到下面介绍的slice。 + 数组什么可以使用另一种`:=`来申明 + a := [3]int{1,2,3} //申明一个长度为3的数组 + b := [10]int{1,2,3} //申明了一个长度为10的数组,其中前面三个元素初始化为1、2、3,其他默认为0 + c := […]int{4,5,6} //可以省略长度,采用…,go会自动计算长度 + + +###slice + +###map + +>>>>>>> add array slice map ## LastModified * $Id$ diff --git a/preface.md b/preface.md index 27002466..5ceced85 100644 --- a/preface.md +++ b/preface.md @@ -8,12 +8,11 @@ - 2.1. [你好,GO](2.1.md) - 2.2. [GO基础](2.2.md) - 2.3. [流程和函数](2.3.md) - - 2.4. [混合类型](2.4.md) - - 2.5. [高级类型](2.5.md) - - 2.6. [面向对象](2.6.md) - - 2.7. [并发](2.7.md) - - 2.8. [通讯](2.8.md) - - 2.9. [小结](2.9.md) + - 2.4. [高级类型](2.4.md) + - 2.5. [面向对象](2.5.md) + - 2.6. [并发](2.6.md) + - 2.7. [通讯](2.7.md) + - 2.8. [小结](2.8.md) * 3.[设计开发博客系统](3.md) * 4.如何实现路由 * 5.web语言处理