上一页 1 ··· 216 217 218 219 220 221 222 223 224 ··· 274 下一页
摘要: 切片的复制与追加 如果想增加切片的容量,我们必须创建一个新的更大的切片并把原分片的内容都拷贝过来。下面的代码描述了从拷贝切片的 copy 函数和向切片追加新元素的 append 函数。 示例 7.12 copy_append_slice.go package main import "fmt" fu 阅读全文
posted @ 2017-05-16 17:28 bonelee 阅读(1979) 评论(0) 推荐(0)
摘要: 切片 切片(slice)是对数组一个连续片段的引用(该数组我们称之为相关数组,通常是匿名的),所以切片是一个引用类型(因此更类似于 C/C++ 中的数组类型,或者 Python 中的 list 类型)。 切片是一个 长度可变的数组。 多个切片如果表示同一个数组的片段,它们可以共享数据;因此一个切片和 阅读全文
posted @ 2017-05-16 17:14 bonelee 阅读(6722) 评论(0) 推荐(0)
摘要: 数组声明的格式是: var identifier [len]type 例如: var arr1 [5]int 在内存中的结构是: 对索引项为 i 的数组元素赋值可以这么操作:arr[i] = value,所以数组是 可变的。 由于索引的存在,遍历数组的方法自然就是使用 for 结构: IDIOM: 阅读全文
posted @ 2017-05-16 16:16 bonelee 阅读(2575) 评论(0) 推荐(0)
摘要: 内置函数 Go 语言拥有一些不需要进行导入操作就可以使用的内置函数。它们有时可以针对不同的类型进行操作,例如:len、cap 和 append,或必须用于系统级的操作,例如:panic。因此,它们需要直接获得编译器的支持。 以下是一个简单的列表,我们会在后面的章节中对它们进行逐个深入的讲解。 6.1 阅读全文
posted @ 2017-05-16 16:05 bonelee 阅读(388) 评论(0) 推荐(0)
摘要: defer 和追踪 关键字 defer 允许我们推迟到函数返回之前(或任意位置执行 return 语句之后)一刻才执行某个语句或函数(为什么要在返回之后才执行这些语句?因为 return 语句同样可以包含一些操作,而不是单纯地返回某个值)。 关键字 defer 的用法类似于面向对象编程语言 Java 阅读全文
posted @ 2017-05-16 15:47 bonelee 阅读(1074) 评论(0) 推荐(1)
摘要: 5.2 测试多返回值函数的错误 Go 语言的函数经常使用两个返回值来表示执行是否成功:返回某个值以及 true 表示成功;返回零值(或 nil)和 false 表示失败(第 4.4 节)。当不使用 true 或 false 的时候,也可以使用一个 error 类型的变量来代替作为第二个返回值:成功执 阅读全文
posted @ 2017-05-16 15:13 bonelee 阅读(805) 评论(0) 推荐(0)
摘要: 4.4.2 值类型和引用类型 所有像 int、float、bool 和 string 这些基本类型都属于值类型,使用这些类型的变量直接指向存在内存中的值。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 示例 4.22 string_pointer.go package 阅读全文
posted @ 2017-05-16 14:33 bonelee 阅读(2703) 评论(0) 推荐(0)
摘要: 示例 4.1 hello_world.go package main import "fmt" func main() { fmt.Println("hello, world") } 4.2.1 包的概念、导入与可见性 Go 的标准库包含了大量的包(如:fmt 和 os),但是你也可以创建自己的包( 阅读全文
posted @ 2017-05-16 13:15 bonelee 阅读(748) 评论(1) 推荐(0)
摘要: Go 自带的工具集主要使用脚本和 Go 语言自身编写的,目前版本的 Go 实现了以下三个工具: go install 是安装 Go 包的工具,类似 Ruby 中的 rubygems。主要用于安装非标准库的包文件,将源代码编译成对象文件。 go fix 用于将你的 Go 代码从旧的发行版迁移到最新的发 阅读全文
posted @ 2017-05-16 11:55 bonelee 阅读(3041) 评论(0) 推荐(0)
摘要: 3.3 调试器 应用程序的开发过程中调试是必不可少的一个环节,因此有一个好的调试器是非常重要的,可惜的是,Go 在这方面的发展还不是很完善。目前可用的调试器是 gdb,最新版均以内置在集成开发环境 LiteIDE 和 GoClipse 中,但是该调试器的调试方式并不灵活且操作难度较大。 如果你不想使 阅读全文
posted @ 2017-05-16 11:49 bonelee 阅读(628) 评论(0) 推荐(0)
上一页 1 ··· 216 217 218 219 220 221 222 223 224 ··· 274 下一页