高级搜索  |  搜索帮助
最近的浏览历史
购买此书的人还购买过
书  名:Go语言程序设计
  • 作  者: 王鹏
  • 出版时间: 2014-01-01
  • 出 版 社: 清华大学出版社
  • 字  数: 560 千字
  • 印  次: 1-1
  • 印  张: 23
  • 开  本: 16开
  • ISBN: 9787302347231
  • 装  帧: 平装
  • 定  价:¥39.00
电子书价:¥27.30 折扣:70折 节省:¥11.70 vip价:¥27.30 电子书大小:27.37M
配套资源下载:
  • 名称
  • 说明
  • 权限
  • 文件大小
  • 点击图标下载
  • 图书样章
  • 所有用户
  • 256K
共有商品评论0条 查看评论摘要
内容简介
  本书是Go语言程序基础教程,其特点是从最基本的语法讲起,并结合Go标准库列举了大量实例。即使无任何Go基础的读者,通过本书也可以很容易地掌握这门程序设计语言。主要内容包括数据类型、控制结构、数组切片和字典、函数、结构体和方法、接口、并发程序设计、网络编程等。
  本书内容新颖、体系合理、逻辑性强,是学习Go语言的理想教材。本书几乎所有语法点和知识点都配备有实例,并在每章最后有综合应用举例,全部例子都有源代码并调试通过。凡具有初级计算机知识的读者都能读懂本书。本书可作为高等学校计算机、网络、信息类专业的基础教材,对从事计算机应用和开发的技术人员也具有很高的参考价值。
前言
  Go语言是Google推出的一门新的程序开发工具,它具有C/C++的高效性和Python的优雅性,是开发Server端程序的利器,Google完全支持Go,其后台服务器大部分基于Go开发,它被称为“未来互联网上的C语言”。
  作为一门新近推出的静态语言,要被软件开发者所承认、接受,Go必须有优于其他静态语言的一些特点。随着计算机技术和计算机网络的迅猛发展,软件开发者对程序设计语言提出了新的要求,比如: 支持高并发、支持多核心架构,同时开发人员还要求编译速度够快、执行效率更高。作为传统成熟的语言,如C/C++、Java、.NET、Python等,它们可能会具备其中一种特点,但不能兼顾。而Go语言恰恰是在“快速编译、高效执行、易于开发”这三个条件之间做到了最佳平衡的一种程序设计语言。
  另外,Go语言支持并发,它使用Goroutine和Channel实现更轻量级的并发,提高了系统实现并行计算的效率,优于系统提供的进程和线程,所以它也是未来云计算的利器。
  最后,Go语言很容易上手,只要具有C/C++或Java的基础,它支持UNIX/Linux、Windows、Mac等主流平台,可以通过交叉编译很轻松地实现跨平台。
  本书详细介绍了Go语言的发展历程、特性及程序设计思想。全书共有11章,第1章介绍了Go的版本、下载和安装,以及常用命令。还介绍了集成开发工具Sublime Text 2。第2章介绍了Go基本数据类型、运算符和表达式。第3章介绍了顺序结构程序设计方法,介绍了fmt包和标准输入输出,还通过strings包和strconv包介绍了字符串处理方法。第4章介绍了选择结构程序设计方法,主要包括if语句和switch语句。第5章介绍了循环结构程序设计方法,以及三种跳转语句。第6章介绍了构造类型和引用类型,重点介绍了数组切片Slice,并通过bytes包详细说明了大量的Slice处理函数。第7章介绍了函数,包括Go函数的新特性,比如像多返回值、变参、匿名函数、闭包等。第8章介绍了结构体和方法,Go其实是使用结构体来实现面向对象编程的,所以这一章涵盖了大量的Go面向对象程序设计知识。第9章介绍了接口,在Go语言中,接口是用来配合结构体实现面向对象编程的。本章还通过综合实例“二叉树”,完整诠释了Go面向对象编程思想及方法。第10章介绍了并发程序设计,从程序层面就支持并发设计是Go最鲜明的特性,也是它的最大的优势。第11章介绍了网络编程,Go是并发的、面向网络的,所以网络编程是它最基本的功能,也是它展示强大功能的舞台。
  本书是作者一直跟踪Go语言发展历程的知识积累和经验总结,Go语言是一个非常年轻的程序设计语言,说它是新生儿也不为过。Google 2009年才发布了Go的1.03测试版,2013年5月才发布了它的第一个正式版1.1版。所以,本教材中的基础知识大部分来自于Go官方文档,另一部分知识来自于Go爱好者之间的交流。当然,作者也付出了艰辛和努力,对这些零散的知识进行归纳总结、系统化,并编写了大量的实例代码。
  在阅读本书的时候,读者会深深地体会到本书的特点,那就是细致入微地诠释了Go语言的每一个知识点,并为每一个知识点编写了实例。这样做的原因,一是Go语言非常年轻,几乎没有中文版的教程; 二是读者在阅读的时候,可能找不到为你解惑的老师。所以对于有深厚语言功底的读者,可以选择性地阅读这些例子。
  本书可作为高等学校计算机、网络、信息类专业的基础教材,对从事计算机应用和开发的技术人员也具有很高的参考价值,也可以作为广大程序爱好者自学用书。
  本书由陕西理工学院网络工程教研室王鹏老师编著。在本书撰写过程中,得到了Mark Summerfield博士和Go Web编程交流群众多好友的热情支持与指导,在此一并表示衷心感谢。
  由于作者水平有限,加之时间仓促,书中疏漏和不当之处在所难免,敬请读者批评指正。


编者
2013年8月
目录
第1章Go语言概述

1.1Go语言简介

1.1.1Go语言发展历史

1.1.2Go语言的特点

1.2Go的下载和安装

1.2.1源码安装

1.2.2标准包安装

1.2.3第三方工具安装

1.3Go基本命令及使用

1.3.1Go常用命令

1.3.2Go文档查看命令

1.3.3其他命令

1.4Go集成开发工具

1.4.1LiteIDE

1.4.2Sublime Text 2

1.5Go程序结构和设计过程

1.5.1Go程序结构

1.5.2Go程序设计过程

1.5.3Go源程序语法要点

1.5.4Go的注释方式

小结

习题

第2章Go数据类型、运算符与表达式

2.1常量、变量与命名规则

2.1.1常量

2.1.2变量

2.1.3标识符与命名规则

2.2基本数据类型

2.2.1布尔型数据

2.2.2整型数据

2.2.3浮点型数据

2.2.4复数

2.2.5字节型数据

2.2.6rune类型

2.2.7uintptr类型

2.3运算符与表达式

2.3.1赋值运算符

2.3.2算术运算符

2.3.3关系运算符

2.3.4逻辑运算符

2.3.5位运算符

2.3.6通道运算符

2.3.7运算符的优先级和结合性

2.4字符串

2.4.1字符串定义

2.4.2字符串操作

2.4.3字符串遍历

2.5常量的初始化规则

2.5.1常量的类型

2.5.2常量定义方法

2.5.3常量的初始化规则

2.6枚举

2.6.1枚举类型的定义

2.6.2iota使用规则

2.6.3iota应用举例

2.7变量的定义与声明

2.7.1变量的类型

2.7.2变量的类型零值

2.7.3变量的作用域

2.7.4变量的声明与赋值

2.8类型别名

2.8.1类型别名定义方式

2.8.2中文类型名

2.9类型转换

2.9.1类型转换方法

2.9.2类型兼容性

2.9.3类型转换分类

小结

习题

第3章Go顺序结构程序设计

3.1顺序结构程序设计和基本语句

3.1.1顺序程序结构

3.1.2简单语句

3.1.3复合语句

3.2Go程序语法注意事项

3.2.1Go程序语句和分号的使用

3.2.2Go程序语句块和左大括号约定

3.2.3注释语句

3.3数据输入输出

3.3.1标准输出函数

3.3.2标准输入函数

3.4Strings包

3.4.1字符串查找函数

3.4.2字符串比较函数

3.4.3字符串位置索引函数

3.4.4字符串追加和替换函数

3.5Strconv包

3.5.1数值转换为字符串函数

3.5.2字符串转换为数值函数

3.5.3Atoi()和Itoa()函数

3.6顺序结构程序举例

3.6.1求平均值

3.6.2计算三角形面积周长

3.6.3求解一元二次方程

小结

习题

第4章Go选择结构程序设计

4.1if语句

4.1.1if语句的形式

4.1.2if语句的嵌套

4.1.3if语句的注意事项

4.2switch语句

4.2.1switch语句结构

4.2.2switch语句的特殊形式

4.2.3switch语句的注意事项

4.3选择结构程序举例

4.3.1解一元二次方程

4.3.2打印中文日期信息

小结

习题

第5章Go循环结构程序设计

5.1for语句

5.1.1for基本循环结构

5.1.2for条件循环结构

5.1.3for无限循环结构

5.1.4使用for语句的注意事项

5.1.5for循环嵌套结构

5.2跳转语句

5.2.1break语句

5.2.2continue语句

5.2.3goto语句

5.3for range语句

5.4循环控制程序举例

5.4.1多重循环嵌套应用举例

5.4.2无限循环和跳转语句应用举例

5.4.3for range语句应用举例

小结

习题

第6章数组、切片和字典

6.1数组

6.1.1数组的声明

6.1.2数组的初始化

6.1.3数组元素的访问和遍历

6.1.4多维数组

6.2切片

6.2.1切片的声明与创建

6.2.2切片元素的访问和遍历

6.2.3切片的操作

6.3字典

6.3.1字典的声明

6.3.2字典的初始化和创建

6.3.3字典的访问和操作

6.4Go语言内存分配机制

6.4.1new函数

6.4.2make函数

6.5字节切片标准库

6.5.1字节切片处理函数

6.5.2Buffer创建函数及操作方法

6.5.3Reader对象及方法

6.6程序举例

6.6.1数组应用

6.6.2Slice应用

6.6.3Map应用

小结

习题

第7章函数

7.1函数声明

7.1.1函数声明基本格式

7.1.2函数声明举例

7.2函数调用

7.2.1调用标准函数

7.2.2调用自定义函数

7.2.3调用外部包中的函数

7.2.4调用内置函数

7.3参数传递和返回值

7.3.1参数传递

7.3.2返回值

7.4变参函数

7.4.1变参函数的声明

7.4.2变参的传递

7.4.3任意类型的变参

7.5匿名函数与闭包

7.5.1匿名函数

7.5.2闭包

7.6函数的递归调用和defer语句

7.6.1函数的递归调用

7.6.2defer语句

7.6.3异常恢复机制

7.7程序举例

7.7.1函数嵌套调用举例

7.7.2变参函数举例

7.7.3多返回值函数举例

小结

习题

第8章结构体和方法

8.1结构体的定义

8.1.1结构体定义

8.1.2结构体变量

8.1.3结构体对象

8.1.4结构体对象初始化

8.1.5结构体的赋值和关系操作

8.2嵌入式结构

8.2.1嵌入式结构用作字段

8.2.2嵌入式结构直接定义结构体变量

8.2.3嵌入式结构直接用于Map

8.3匿名字段

8.3.1匿名字段的初始化

8.3.2匿名字段的访问

8.3.3匿名字段的多种形式

8.3.4匿名字段的重名

8.3.5匿名类型指针

8.4方法

8.4.1结构化程序设计思想

8.4.2面向对象程序设计思想

8.4.3Method的基本定义

8.4.4多个Method可以同名

8.4.5指针作为Receiver

8.4.6匿名Receiver

8.4.7Method的继承

8.4.8Method的重写

8.5可见性规则和Struct的导入

8.5.1可见性规则

8.5.2Struct的导入

8.6字段标签

8.7数据I/O对象及操作

8.7.1ReadWriter对象

8.7.2Reader对象

8.7.3Writer对象

8.8应用举例——链表操作

8.8.1链表简介

8.8.2Struct和Method设计单链表

小结

习题

第9章接口

9.1接口的概念与定义

9.1.1接口的概念

9.1.2接口的定义

9.1.3接口组合

9.1.4空接口

9.2接口执行机制和赋值

9.2.1接口执行机制

9.2.2接口的赋值

9.3匿名字段方法和接口转换

9.3.1匿名字段方法

9.3.2接口转换

9.4接口类型推断

9.4.1Commaok断言

9.4.2Switch测试

9.5反射

9.5.1获取原对象的Type和Value值

9.5.2修改原对象Value值

9.5.3动态调用原对象方法

9.6应用举例——二叉树

9.6.1树的定义和基本术语

9.6.2二叉树简介

9.6.3二叉树的链接存储结构

9.6.4二叉树基本应用测试

小结

习题

第10章Go并发程序设计

10.1程序并发执行概述

10.1.1程序的顺序执行

10.1.2程序的并发执行

10.1.3程序的并行执行

10.2Goroutine

10.2.1操作系统提供的并发基础

10.2.2Goroutine的定义

10.2.3Goroutine的创建

10.3Channel

10.3.1程序间的并发通信

10.3.2Channel简介

10.3.3Channel声明和初始化

10.3.4数据接收和发送

10.3.5Channel的关闭和迭代器

10.3.6单向Channel

10.3.7异步Channel

10.4Select机制和超时机制

10.4.1Select机制

10.4.2超时机制

10.5Runtime Goroutine

10.5.1出让时间片

10.5.2获取CPU核心数和任务数

10.5.3终止当前Goroutine

小结

习题

第11章Go网络编程

11.1Go网络编程简介

11.1.1计算机网络概念和体系结构

11.1.2网络编程基本概念

11.1.3网络编程模式

11.1.4Socket网络编程接口

11.2Go网络编程基础

11.2.1IP地址和域名解析

11.2.2主机信息查询

11.2.3服务信息查询

11.3Go网络编程原理

11.3.1Socket网络编程

11.3.2Go网络编程

11.4TCP网络程序设计

11.4.1TCPAddr地址结构体

11.4.2TCPConn对象

11.4.3TCP服务器设计

11.4.4TCP客户机设计

11.4.5使用Goroutine实现并发服务器

11.5UDP网络程序设计

11.5.1UDPAddr地址结构体

11.5.2UDPConn对象

11.5.3UDP服务器设计

11.5.4UDP客户机设计

11.6IP网络程序设计

11.6.1IPAddr地址结构体

11.6.2IPConn对象

11.6.3IP服务器设计

11.6.4IP客户机设计

11.6.5Ping程序设计

小结

习题

附录AGo语言内置关键字

附录BGo内置函数

附录CGo语言标准库

附录D名词与术语索引表

参考文献

Copyright(C)清华大学出版社有限公司,All Rights Reserved 京ICP备10035462号 联系我们