欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 深入学习Go语言/信息科学与技术丛书
      • 作者:编者:李晓钧
      • 出版社:机械工业
      • ISBN:9787111630722
      • 出版日期:2019/08/01
      • 页数:259
    • 售价:27.6
  • 内容大纲

        Go语言适合用来进行服务器编程与网络编程,包括Web应用编程等。本书详细讲解了Go语言数据类型、关键字、字面量、基本语法等基础概念及Go项目的工程构建、测试、编译与运行等;深入讲解了协程(goroutine)和通道(channel)等与并发编程有关的概念;还介绍了系统标准库、网络编程和第三方包。读者掌握本书内容后,可以顺利进行实际项目开发。
        本书适合Go语言初学者和有一定经验的程序员阅读。
        书中代码可免费下载(扫描封底二维码)。
  • 作者介绍

  • 目录

    出版说明
    前言
    第1章  Go语言简介
      1.1  为什么要学Go语言
      1.2  Go语言安装
      1.3  Go语言开发工具
    第2章  Go语言编程基础
      2.1  数据类型
        2.1.1  基础数据类型
        2.1.2  复合数据类型
      2.2  变量
        2.2.1  变量以及声明
        2.2.2  零值(nil)
      2.3  常量
        2.3.1  常量定义
        2.3.2  iota
        2.3.3  字面量(literal)
      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  switch语句
        2.6.2  select语句
        2.6.3  for语句
        2.6.4  for-range结构
        2.6.5  if语句
        2.6.6  break语句
        2.6.7  continue语句
        2.6.8  标签
        2.6.9  goto语句
    第3章  作用域
      3.1  关于作用域
        3.1.1  局部变量与全局变量
        3.1.2  显式与隐式代码块
      3.2  约定和惯例
        3.2.1  可见性规则
        3.2.2  命名规范以及语法惯例
        3.2.3  注释
    第4章  代码结构化与项目管理
      4.1  包(package)
        4.1.1  包的概念
        4.1.2  包的初始化
        4.1.3  包的导入
        4.1.4  标准库
        4.1.5  从GitHub安装包

        4.1.6  导入外部安装包
      4.2  Go项目开发与编译
        4.2.1  项目结构
        4.2.2  使用Godoc
        4.2.3  Go程序的编译
        4.2.4  Go modules包依赖管理
    第5章  复合数据类型
      5.1  数组(array)
        5.1.1  数组定义
        5.1.2  数组声明与使用
      5.2  切片(slice)
        5.2.1  切片介绍
        5.2.2  切片重组(reslice)
        5.2.3  陈旧的切片(Stale Slices)
      5.3  字典(map)
        5.3.1  字典介绍
        5.3.2  range语句中的值
    第6章  type关键字
      6.1  type自定义类型
      6.2  type定义类型别名
    第7章  错误处理与defer
      7.1  错误处理
        7.1.1  错误类型(error)
        7.1.2  panic
        7.1.3  recover
      7.2  关于defer
        7.2.1  defer的三个规则
        7.2.2  使用defer计算函数执行时间
    第8章  函数
      8.1  函数(function)
        8.1.1  函数介绍
        8.1.2  函数调用
        8.1.3  内置函数
        8.1.4  递归与回调
        8.1.5  匿名函数
        8.1.6  变参函数
    第9章  结构体和接口
      9.1  结构体(struct)
        9.1.1  结构体介绍
        9.1.2  结构体特性
        9.1.3  匿名字段
        9.1.4  嵌入与聚合
        9.1.5  命名冲突
      9.2  接口(interface)
        9.2.1  接口是什么
        9.2.2  接口嵌入
        9.2.3  类型断言
        9.2.4  接口与动态类型
        9.2.5  接口的提取
        9.2.6  接口的继承

    第10章  方法
      10.1  方法的定义
        10.1.1  接收器(receiver)
        10.1.2  方法表达式与方法值
        10.1.3  自定义类型方法与匿名嵌入
        lO.1.4  函数和方法的区别
      10.2  指针方法与值方法
        10.2.1  指针方法与值方法的区别
        lO.2.2  接口变量上的指针方法与值方法
        10.2.3  指针接收器和值接收器的选择
      10.3  匿名类型的方法提升
        1O.3.1  匿名类型的方法调用
        10.3.2  方法提升规则
    第ll章  面向对象与内存
      11.1  面向对象
        11.1.1  Go语言中的面向对象
        11.1.2  多重继承
      11.2  指针和内存
        11.2.1  指针
        11.2.2  new()和make()的区别
        11.2.3  垃圾回收
    第12章  并发处理
      12.1  协程
        12.1.1  协程与并发
        12.1.2  协程使用
      12.2  通道(channel)
      12.3  同步与锁
        12.3.1  互斥锁
        12.3.2  读写锁
        12.3.3  sync.WaitGroup
        12.3.4  sync.Once
        12.3.5  sync.Map
    第13章  测试与调优
      13.1  测试
        13.1.1  单元测试
        13.1.2  基准测试
      13.2  调优
        13.2.1  分析Go程序
        13.2.2  用pprof调试
    第14章  系统标准库
      14.1  reflect包
        14.1.1  反射(reflect)
        14.1.2  反射的应用
      14.2  unsafe包
        14.2.1  unsafe包介绍
        14.2.2  指针运算
      14.3  sort包
        14.3.1  sort包介绍
        14.3.2  自定义sort.Interface排序
        14.3.3  sort.Slice排序

      14.4  os包
        14.4.1  启动外部命令和程序
        14.4.2  os/signal信号处理
      14.5  fmt包
        14.5.1  格式化I/O
        14.5.2  格式化输出
      14.6  flag包
        14.6.1  命令行
        14.6.2  参数解析
      14.7  文件操作与I/O
        14.7.1  文件操作
        14.7.2  I/O读写
        14.7.3  ioutil包读写
        14.7.4  bufio包读写
        14.7.5  log包日志操作
    第15章  网络服务
      15.1  Socket
        15.1.1  Socket基础知识
        15.1.2  TCP与UDP
      15.2  模板(Template)
        15.2.1  text/template包
        15.2.2  html/template包
        15.2.3  模板语法
      15.3  net/http包
        15.3.1  http Request
        15.3.2  http Response
        15.3.3  http Client
        15.3.4  http Server
        15.3.5  自定义类型Handler
        15.3.6  将函数直接作为Handler
        15.3.7  中间件
        15.3.8  搭建静态站点
      15.4  context包
        15.4.1  context包介绍
        15.4.2  上下文应用
    第16章  数据格式与存储
      16.1  数据格式
        16.1.1  序列化与反序列化
        16.1.2  JSON数据格式
        16.1.3  将JSON数据反序列化到结构体
        16.1.4  反序列化任意JSON数据
        16.1.5  JSON数据编码和解码
        16.1.6  JSON数据延迟解析
        16.1.7  Protocol Buffer数据格式
      16.2  MySQL数据库
        16.2.1  database/sql包
        16.2.2  MySQL数据库操作
      16.3  LevelDB与BoltDB数据库
        16.3.1  LevelDB数据库操作
        16.3.2  BoltDB数据库操作

    第17章  网络爬虫
      17.1  CollV网络爬虫框架
      17.2  goquery HTML解析
    第18章  Web框架——Gin
      18.1  关于Gin
      18.2  Gill实际应用
        18.2.1  静态资源站点
        18.2.2  构建动态站点
        18.2.3  中间件的使用
        18.2.4  RESTful API接口
    参考文献