没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
121页
go语言中文教程及手册. Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新ᓆ的类型系统允许构建有ᧄ性的模块化程序。Go编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。 《go语言中文教程及手册》包含了语言结构、基础语法、数据类型、语言变量、语言常量以及运算符等内容的介绍,可以让你快速进阶为go语言编程高手。简洁,一句废话没有,对于初学者可以让大家快速掌握GO语言!
资源推荐
资源详情
资源评论
学习 Go 语言
Go 1
作者:
Miek Gieben
译者:
邢星
感谢:
Go
作者
,Google
下朋友提供了帮助和贡献:
(按字母顺序)
Adam J. Gray, Alex Sychev, Andrea Spadaccini, Andrey Mirtchovski, Anthony
Magro, Babu Sreekanth, Ben Bullock, Bob Cunningham, Brian Fallik, Cecil New,
Damian Gryski, Dan Kortschak, Fabian Becker, Filip Zaludek, Hadi Amiri,
Haiping Fan, Jaap Akkerhuis, JC van Winkel, Jeroen Bulten, Jinpu Hu, Jonathan
Kans, Joshua Stein, Makoto Inoue, Mayuresh Kathe, Michael Stapelberg,
Olexandr Shalakhin, Paulo Pinto, Peter Kleiweg, Philipp Schmidt, Robert Johnson,
Russel Winder, Sonia Keys, Stefan Schroeder, Thomas Kapplet, T.J. Yang,
“Cobold”, “Simoc”, “Uriel”,
邢星
。
2
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
Miek Gieben – ©2010 - 2012
邢星
– ©2011
,
2012
Contents
读者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
本书使用的设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
1 简介 1
官方文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
前身 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
获得 Go . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
在 Windows 下获得 Go . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 基础 6
Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
编译和运行代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
本书使用的设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
变量、类型和保留字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
运算符和内建函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Go 保留字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
控制结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
内建函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
array、slices 和 map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 函数 30
作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
多值返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
命名返回值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
延迟代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
变参 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
函数作为值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
恐慌(Panic)和恢复(Recover) . . . . . . . . . . . . . . . . . . . . . . . 36
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4 包 48
标识符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
包的文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
测试包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
常用的包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5 进阶 58
内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
定义自己的类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ii
Chapter: Contents
转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6 接口 70
方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
接口名字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
简短的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7 并发 82
更多关于 channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8 通讯 90
io.Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
一些例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
命令行参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
执行命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
练习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
答案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A 版权 106
贡献者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
许可证和版权 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B 索引 108
C Bibliography 110
List of Figures
1.1 Go 编年史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 array 与 slice 对比 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 一个简单的 LIFO 栈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.1 使用反射去除层次关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
List of Code Examples
2.1 Hello world . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Declaration with = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Declaration with := . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Familiar types are still distinct . . . . . . . . . . . . . . . . . . . . . . . . . . 9
剩余120页未读,继续阅读
悠闲饭团
- 粉丝: 150
- 资源: 3301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页