成功加入购物车

去购物车结算 X
建德书局的书店
  • 新华正版 Head First Go语言程序设计 (美)杰伊·麦克格瑞恩 9787111664932 机械工业出版社

新华正版 Head First Go语言程序设计 (美)杰伊·麦克格瑞恩 9787111664932 机械工业出版社

举报

新华书店直发 全新正版 急速发货 开票联系客服

  • 作者: 
  • 出版社:    机械工业出版社
  • ISBN:    9787111664932
  • 出版时间: 
  • 装帧:    平装
  • 开本:    16开
  • ISBN:  9787111664932
  • 出版时间: 
  • 装帧:  平装
  • 开本:  16开

售价 87.46 5.9折

定价 ¥149.00 

品相 全新

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2023-07-11

    数量
    库存6
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 货号:
      1202137992
      商品描述:
      作者简介
          杰伊·麦克格瑞恩,Head First Ruby和Head First GD的作者,这两本书都由0’Reilly。他还在Treehouse讲授软件开发。

      目录
      前言

      这本书是给谁看的

      我们知道你在想什么

      我们知道你的大脑在想什么

      元认知:思考“何为思考”

      我们是这样做的

      说明

      致谢

      1 让我们开始吧:语法基础

      准备好,出发

      Go Playground

      这一切意味着什么

      如果出了问题怎么办

      调用函数

      Println函数

      使用其他包中的函数

      函数返回值

      Go程序模板

      字符串

      符文

      布尔值

      数字

      数学运算与比较

      类型

      声明变量

      零值

      短变量声明

      命名规则

      转换

      在你的计算机上安装Go

      编译Go代码

      Go工具

      使用“go run”快速尝试代码

      你的Go工具箱

      2 接下来运行哪些代码:条件和循环

      调用方法

      评分

      函数或方法的多个返回值

      选项1:使用空白标识符忽略错误返回值

      选项2:处理错误

      条件

      有条件地记录致命错误

      避免遮盖名字

      将字符串转换为数字



      块和变量的作用域

      我们已经完成了评分程序

      短变量声明中只有一个变量必须是新的

      让我们创建一个游戏

      包名与导入路径

      生成随机数

      从键盘获取整数

      将猜测与目标进行比较

      循环

      初始化和标志(post)语句是可选的

      在我们的猜谜游戏中使用循环

      中断我们的猜测循环

      显示目标

      恭喜你,游戏结束了

      你的Go工具箱

      3 调用:函数

      一些重复的代码

      使用Printf和Sprintf格式化输出

      格式化动词

      格式化值宽度

      格式化小数宽度

      在油漆计算器中使用Printf

      声明函数

      声明函数参数

      在油漆计算器中使用函数

      函数和变量的作用域

      函数返回值

      在油漆计算器中使用返回值

      paintNeeded函数需要错误处理

      错误值

      声明多个返回值

      在paintNeeded函数中使用多个返回值

      始终处理错误

      函数形参接收实参的副本

      指针

      指针类型

      获取或更改指针的值

      函数指针

      使用指针修复我们的“double”函数

      你的Go工具箱

      4 代码集:包

      不同的程序,相同的函数

      使用包在程序之间共享代码

      Go工作区目录保存包代码

      创建一个新包

      将包导入程序

      包使用相同的文件布局

      包命名规范

      包限定符

      将共享代码移动到包中

      常量

      嵌套的包目录和导入路径

      使用“go install”安装程序可执行文件

      使用GOPATH环境变量更改工作区

      设置GOPATH

      发布包

      使用“go get”下载和安装包

      使用“go doc”阅读包文档

      使用doc注释记录包

      在Web浏览器中查看文档

      使用“godoc”提供HTML文档

      “godoc”服务器包含你的包

      你的Go工具箱

      5 列表:数组

      数组保存值的集合

      数组中的零值

      数组字面量

      “fmt”包中的函数知道如何处理数组

      在循环里访问数组元素

      使用“len”函数检查数组长度

      使用“for...range”安全遍历数组

      在“for...range”循环中使用空白标识符

      得到数组中数字之和

      得到数组中数字的平均值

      读取文本文件

      将文本文件读入数组

      更新我们的“average”程序来读取文本文件

      我们的程序只能处理三个值

      你的Go工具箱

      6 追加的问题:切片

      切片

      切片字面量

      切片运算符

      底层数组

      修改底层数组,修改切片

      使用“append”函数在切片上添加数据

      切片和零值

      使用切片和“append”读取额外的文件行

      尝试我们改进后的程序

      出错时返回nil值切片

      命令行参数

      从os.Args切片获取命令行参数

      切片运算符可用于其他切片

      更新程序以使用命令行参数

      可变长参数函数

      使用可变长参数函数

      使用可变长参数函数计算平均值

      向可变长参数函数传递一个切片

      切片拯救了我们

      你的Go工具箱

      7 标签数据:映射

      计票

      从文件中读取名字

      使用困难的切片方法对名字计数

      映射

      映射字面量

      映射中的零值

      映射变量的零值是nil

      如何区分已经赋值的值和零值

      使用“delete”函数删除键/值对

      使用映射来更新计票程序

      对映射进行for...range循环

      for...range循环以随机顺序处理映射

      使用for...range循环来更新计票程序

      计票程序完成

      你的Go工具箱

      8 构建存储:struct

      切片和映射保存一种类型的值

      struct是由多种类型的值构建的

      使用点运算符访问struct字段

      在struct中保存订阅者的数据

      定义类型和struct

      为杂志订阅者定义一个类型

      与函数一起使用已定义类型

      使用函数修改struct

      通过指针访问struct的字段

      使用指针传递大型struct

      将struct类型移动到另一个包

      定义类型的名称首字母必须大写才能导出该类型

      struct字段的名称首字母必须大写才能导出该字段

      struct字面量

      创建一个Employee struct类型

      创建一个Address struct类型

      将struct作为字段增加到另一个类型中

      在另一个struct中设置struct

      匿名struct字段

      嵌入struct

      我们定义的类型完成了

      你的Go工具箱

      9 我喜欢的类型:定义类型

      现实生活中的类型错误

      具有底层基础类型的定义类型

      定义类型和运算符

      使用函数进行类型转换

      使用方法修复函数名冲突

      定义方法

      接收器参数(几乎)就是另一个参数

      方法(几乎)就像一个函数

      指针类型的接收器参数

      使用方法将Liters和Milliliters转换为Gallons

      使用方法将Gallons转换为Liters和Milliliters

      你的Go工具箱

      10 保密:封装和嵌入

      创建一个日期struct类型

      人们将Date struct的字段设置为无效值

      setter方法

      setter方法需要指针接收器

      添加其余的setter方法

      在setter方法中添加校验

      字段仍可以设置为无效值

      将Date类型移到另外的包中

      将Date字段设为未导出状态

      通过导出的方法访问未导出的字段

      getter方法

      封装

      在Event类型中嵌入Date类型

      未导出的字段不会被提升

      导出的方法像字段一样被提升

      封装Event的Title字段

      提升的方法与外部类型的方法共存

      我们的calendar包完成了

      你的Go工具箱

      11 你能做什么:接口

      具有相同方法的两种不同类型

      只能接受一种类型的方法参数

      接口

      定义满足接口的类型

      具体类型和接口类型

      分配满足接口的任何类型

      你只能调用接口中定义的方法

      使用接口修复playList函数

      类型断言

      类型断言失败

      当类型断言失败时避免异常

      使用类型断言测试TapePlayer和TapeRecorder

      “error”接口

      Stringer接口

      空接口

      你的Go工具箱

      12 重新站起来:从失败中恢复

      从文件中读取数字,重新访问

      任何错误都将阻止关闭文件

      延迟函数调用

      使用延迟函数调用从错误中恢复

      使用延迟函数调用确保文件关闭

      列出目录中的文件

      列出子目录中的文件(会更棘手)

      递归函数调用

      递归地列出目录内容

      递归函数中的错误处理

      发起一个panic

      堆栈跟踪

      延迟调用在崩溃前完成

      通过scanDirectory使用“panic”

      何时产生panic

      “recover”函数

      panic值从recover中返回

      从scanDirectory中的panic恢复

      恢复panic

      你的Go工具箱

      13 分享工作:goroutine和channel

      检索网页

      多任务

      使用goroutine的并发性

      使用goroutine

      在responseSize函数中使用goroutine

      我们不能直接控制goroutine何时运行

      go语句不能使用返回值

      使用channel发送和接收值

      同步goroutine与channel

      观察goroutine同步

      使用channel修复我们的网页大小程序

      更新我们的channel以携带一个struct

      你的Go工具箱

      14 代码的质量保证:自动化测试

      自动化测试比别人先发现bug

      一个应该有自动化测试的函数

      我们引入了一个bug

      编写测试

      使用“go test”命令运行测试

      测试实际的返回值

      使用“Errorf”方法获得更详细的测试失败消息

      测试“helper”函数

      让测试通过

      测试驱动开发

      另一个需要修复的bug

      运行特定的测试集

      表驱动测试

      使用测试修复panic代码

      你的Go工具箱

      15 响应请求:Web应用程序

      用Go编写Web应用程序

      浏览器、请求、服务器和响应

      一个简单的Web应用程序

      你的计算机在自言自语

      讲解一个简单的Web应用程序

      资源路径

      对不同的资源路径做出不同的响应

      一级函数

      将函数传递给其他函数

      函数作为类型

      接下来是什么

      你的Go工具箱

      16 要遵循的模式:HTML模板

      留言簿应用程序

      处理请求和检查错误的函数

      设置一个项目目录并尝试应用程序

      用HTML创建签名列表

      使我们的应用程序以HTML响应

      “text/template”包

      使用带有模板的Execute方法的io.Writer接口

      满足io.Writer的ResponseWriter和os.Stdout

      使用action将数据插入模板

      使用“if”action使模板的某些部分可选

      使用“range”action来重复模板的某部分

      使用action将struct字段插入模板

      从文件中读入签名切片

      保存签名和签名数的struct

      更新模板以包含签名

      允许用户使用HTML表单添加数据

      表单提交请求

      用于表单提交的Path和HTTP方法

      从请求中获取表单字段的值

      保存表单数据

      HTTP重定向

      我们完整的应用程序代码

      你的Go工具箱

      A 理解os.OpenFile:打开文件

      理解os.OpenFile

      将标志常量传递到os.OpenFile

      二进制表示法

      位运算符

      按位与运算符

      按位或运算符

      对“os”包常量使用按位或运算

      使用按位或运算修复os.OpenFile选项

      Unix样式的文件权限

      使用os.FileMode类型表示权限

      八进制表示法

      将八进制值转换为FileMode值

      解释对os.OpenFile的调用

      B 有六件事我们没有涉及:剩下的内容

      #1 “if”的初始化语句

      #2 switch语句

      #3 更多基本类型

      #4 更多关于符文的信息

      #5 有缓冲的channel

      #6 进一步阅读


      内容摘要
      Go是为高性能网络和多处理而设计的, 但与python和javascript一样,该语言易于阅读和使用。通过这本实用的实践指南,读者将学习如何使用演示实际语言的清晰示例来编写Go代码。很重要的是,读者将会了解到用人单位希望入门级Go开发人员所知晓的惯例和技术。主要内容包括语法基础、条件和循环、函数、包、数组、映射、结构、封装和嵌入、接口、故障恢复、共享、自动化测试、Web应用程序等。

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看