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

    • 对比Java学习Go(Java程序员的Go语言速成指南)/程序员书库
      • 作者:(美)巴里·费根鲍姆|责编:刘锋//冯润峰|译者:张燕妮
      • 出版社:机械工业
      • ISBN:9787111740797
      • 出版日期:2024/01/01
      • 页数:376
    • 售价:55.6
  • 内容大纲

        本书深入介绍Go编程语言及其相关的标准运行时库。本书的目标读者是已经掌握Java编程语言并希望将Java知识用于指导Go学习的程序员。读者将深入了解Go语言,并很好地了解各种Go标准库。
        通过阅读本书,你将能够:
        熟悉关键的Go运行时库及其与Java库的比较;
        了解何时适合使用Go语言而不是Java语言;
        阅读并理解用Go编写的程序;
        了解Go的开发流程;
        确定针对具体的应用程序,哪种语言更有优势;了解Go与Java语言在开发经验上的互通之处。
  • 作者介绍

        巴里·费根鲍姆(Barry Feigenbaum),拥有数十年的软件工程相关经验,拥有计算机工程(专注于面向对象软件设计)博士学位和电气工程学位。他曾任职于IBM、Amazon等行业领先公司,目前就职于戴尔,担任高级首席软件工程师。他在技术杂志和评审期刊上发表了多篇文章,与人合著了几本关于IBMPC-DOS的书,并拥有20多项美国专利。
  • 目录

    前言
    致谢
    作者简介
    第一部分  初步了解Go
      第1章  Go简介
        1.1  Go与Java的初步比较
          1.1.1  Go是编译型语言(Java是解释型语言)
          1.1.2  Go与Java的程序结构类似
          1.1.3  Go与Java有影响代码结构的代码风格差异
          1.1.4  Go和Java都是过程语言
          1.1.5  Java是一门面向对象的语言,但Go不是完全面向对象的
          1.1.6  Java是一门高度函数式语言,Go不是
          1.1.7  Java是一门高度声明性语言,Go不是
          1.1.8  很多Java特性是注解驱动的
          1.1.9  Java和Go都使用内存管理(垃圾收集器)
          1.1.10  Go和Java都支持并发,但方式不同
          1.1.11  Go的运行时比JRE简单
          1.1.12  Go程序构建过程是不同的
          1.1.13  Go与Java有相似的发布周期
        1.2  Java有而Go没有的特性
          1.2.1  多重赋值
          1.2.2  语句和操作符
          1.2.3  assert语句
          1.2.4  while与do语句
          1.2.5  throw语句/throws子句
          1.2.6  strictfp、transient、volatile、synchronized、abstract、static
          1.2.7  对象、类、内部类、Lambda、this、super、显式构造函数
          1.2.8  泛型和方法
          1.2.9  广泛的函数式编程能力
          1.2.10  原始值的装箱
          1.2.11  源码注解
          1.2.12  多种可见性
          1.2.13  重载/覆盖函数
          1.2.14  正式的枚举
          1.2.15  内置二进制数据自序列化
          1.2.16  并发集合
        1.3  Go与Java的深度比较
    第二部分  Go语言
      第2章  Go的基础特性
        2.1  语言关键字
        2.2  操作符和标点符号
        2.3  Go操作符优先级
        2.4  Go内置函数
      第3章  Go的关键特性
        3.1  简单的Go程序示例
        3.2  Go包
        3.3  Go注释
        3.4  Go构建/运行过程
          3.4.1  Go集成开发环境
          3.4.2  构建Go程序

          3.4.3  运行Go程序
          3.4.4  字节码与实码
        3.5  Go命令行工具
          3.5.1  捆绑在Go命令中的工具
          3.5.2  其他工具
        3.6  Go运行程序而非类
        3.7  Go内存管理
        3.8  Go标识符
        3.9  Go作用域Go作用域与Go源文件
        3.10  初始化Go变量
        3.11  Go标识符的生命期
        3.12  Go模块摘要
        3.13  Go赋值和表达式
        3.14  Go中的文本格式设置
        3.15  Go协程(并发执行单元)
          3.15.1  并发问题
          3.15.2  Go并发
          3.15.3  Go协程示例
      第4章  Go类型
        4.1  基本/内置类型
          4.1.1  数值
          4.1.2  字符和字符串
          4.1.3  引用与指针类型
          4.1.4  深入基本数据类型
          4.1.5  方法作为函数
          4.1.6  任何被声明的类型都可以有自定义函数
          4.1.7  函数作为值
          4.1.8  结构字段
          4.1.9  结构体字面量
          4.1.10  嵌套结构
          4.1.11  结构体字段对齐
          4.1.12  接口
          4.1.13  复合接口
        4.2  变量声明
        4.3  常量声明
        4.4  类型转换
        4.5  类型测试
        4.6  派生类型声明
      第5章  错误与panic
        5.1  Go错误
        5.2  Go panic
        5.3  错误与panic演示
      第6章  Go语句
        6.1  包与导入语句
        6.2  赋值语句
        6.3  声明变量
        6.4  声明命名常量
        6.5  if/else语句
        6.6  switch语句
        6.7  while语句

        6.8  do-while语句
        6.9  带索引的for语句
        6.10  遍历集合的for语句
        6.11  无限循环
        6.12  break与continue语句
        6.13  goto语句
        6.14  return语句
        6.15  defer语句
        6.16  go语句
        6.17  select语句
      第7章  接口应用
        7.1  接口是核心
        7.2  有关依赖注入
        7.3  面向切面编程
      第8章  Go单元测试和基准测试
        8.1  Go测试用例和基准测试
        8.2  Java测试用例
      第9章  Go的未来
        9.1  改进的错误处理
        9.2  Go泛型
        9.3  生命游戏的capstone示例
        9.4  生命游戏的Go源代码
          9.4.1  Java实现的capstone项目
          9.4.2  Go实现的capstone项目
        9.5  API输出
        9.6  Game输出
    第三部分  Go库综述
      第10章  主要包比较
        10.1  Java语言包
        10.2  JavaIO包
        10.3  Java Text包
        10.4  Java Time包
        10.5  Java Util包
      第11章  重要方法/函数比较
      第12章  Go包概述
        12.1  Go的文件访问
        12.2  压缩服务
          12.2.1  存档包
          12.2.2  压缩包
        12.3  image包
        12.4  Input/Output(I/O)
        12.5  字节包
        12.6  格式化包
        12.7  数据集合
        12.8  排序
        12.9  上下文包
        12.10  密码学、哈希和数据编码
        12.11  encoding包
      第13章  SQL数据库访问
      第14章  客户端和服务器支持

        14.1  MIME包
        14.2  网络包
        14.3  net包
        14.4  HTTP template包
        14.5  net.http包
        14.6  URL包
      第15章  Go运行时
        15.1  errors包
        15.2  flag包
        15.3  log包
        15.4  math包
        15.5  操作系统支持包
        15.6  reflection包
        15.7  正则表达式包
        15.8  Go runtime包
        15.9  字符串处理包
        15.10  并发与Go协程
        15.11  测试包
        15.12  time和date包
    附录
      附录A  安装Go
      附录B  Go的常见问题
        有关类型的问题
        有关值的问题
        有关最佳编程实践的问题
        有关指针和内存分配的问题
        有关并发的问题
        有关函数的问题
      附录C  Go的常见陷阱
      附录D  标记-清除算法的伪码
      附录E  ASCII与UTF-8