登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』对比Java学习Go:Java程序员的Go语言速成指南 [美]巴里·费根鲍姆

書城自編碼: 3942491
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]巴里·费根鲍姆
國際書號(ISBN): 9787111740797
出版社: 机械工业出版社
出版日期: 2023-12-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 168.2

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
人类起源简史:破译700万年人类进化的密码
《 人类起源简史:破译700万年人类进化的密码 》

售價:HK$ 78.2
古典与现代 : 民国大学的潮与岸
《 古典与现代 : 民国大学的潮与岸 》

售價:HK$ 89.7
浮华梦醒:民国实业家的创业之路
《 浮华梦醒:民国实业家的创业之路 》

售價:HK$ 64.4
财之道丛书·后资本主义生活:财富的意义、经济的未来与货币的时间理论
《 财之道丛书·后资本主义生活:财富的意义、经济的未来与货币的时间理论 》

售價:HK$ 78.2
人文与社会译丛:自由意志、能动性与生命的意义
《 人文与社会译丛:自由意志、能动性与生命的意义 》

售價:HK$ 79.4
儿童折纸大全(儿童创意美术手工系列)
《 儿童折纸大全(儿童创意美术手工系列) 》

售價:HK$ 34.3
意识形态与现代文化(人文与社会译丛)
《 意识形态与现代文化(人文与社会译丛) 》

售價:HK$ 90.9
最好的教养:别错过孩子的4~7岁成长关键期
《 最好的教养:别错过孩子的4~7岁成长关键期 》

售價:HK$ 57.3

 

建議一齊購買:

+

HK$ 98.6
《CSS3网页样式与布局案例课堂》
+

HK$ 121.4
《PHP 从入门到项目实践(超值版)》
+

HK$ 94.4
《JavaScript多线程编程实践》
+

HK$ 95.6
《Python量化交易实战——使用vn.py构建交易系统》
+

HK$ 146.9
《Effective C++:改善程序与设计的55个具体做法(》
+

HK$ 130.7
《小学生C++编程启蒙》
編輯推薦:
本书清晰地描述了Go功能,并将其与类似的Java功能进行对比,以及通过大量的代码示例来教授Go。阅读本书后,你将对Go及其库有足够的了解,从而开始使用Go语言进行有效的编程。本书主要面向专业Java程序员或对Java有一定了解的读者,在结构上更像是一个教程,而不是参考文档。内容涵盖了Go的关键功能,但并没有详细讨论每一个细节。本书的目标是让读者完全掌握Go及其运行时,从而可以有效地编写Go程序。
內容簡介:
本书通过提供大量的代码示例,对Go特性进行了清晰的描述,并将它们与类似的Java特性进行了对比。读完这本书,你将对Go及其库有足够的了解,从而开始使用Go语言进行编程。
關於作者:
巴里·费根鲍姆(Barry Feigenbaum)拥有数十年的软件工程相关经验,拥有计算机工程(专注于面向对象软件设计)博士学位和电气工程学位。他曾任职于IBM、Amazon等行业领先公司,目前就职于戴尔,担任高级首席软件工程师。他在技术杂志和评审期刊上发表了多篇文章,与人合著了几本关于IBM PC-DOS的书,并拥有20多项美国专利。
目錄
目  录Contents前言致谢作者简介第一部分 初步了解Go第1章 Go简介 41.1 Go与Java的初步比较 41.1.1 Go是编译型语言(Java是解释型语言) 51.1.2 Go与Java的程序结构类似 51.1.3 Go与Java有影响代码结构的代码风格差异 51.1.4 Go和Java都是过程语言 61.1.5 Java是一门面向对象的语言,但Go不是完全面向对象的 61.1.6 Java是一门高度函数式语言,Go不是 61.1.7 Java是一门高度声明性语言,Go不是 71.1.8 很多Java特性是注解驱动的 71.1.9 Java和Go都使用内存管理(垃圾收集器) 71.1.10 Go和Java都支持并发,但方式不同 81.1.11 Go的运行时比JRE简单 81.1.12 Go程序构建过程是不同的 81.1.13 Go与Java有相似的发布周期 91.2 Java有而Go没有的特性 91.2.1 多重赋值 101.2.2 语句和操作符 101.2.3 assert语句 101.2.4 while与do语句 101.2.5 throw语句/throws子句 111.2.6 strictfp、transient、volatile、synchronized、abstract、static 111.2.7 对象、类、内部类、Lambda、this、super、显式构造函数 111.2.8 泛型和方法 121.2.9 广泛的函数式编程能力 131.2.10 原始值的装箱 131.2.11 源码注解 131.2.12 多种可见性 131.2.13 重载/覆盖函数 141.2.14 正式的枚举 141.2.15 内置二进制数据自序列化 141.2.16 并发集合 141.3 Go与Java的深度比较 15第二部分 Go语言第2章 Go的基础特性 212.1 语言关键字 212.2 操作符和标点符号 232.3 Go操作符优先级 262.4 Go内置函数 27第3章 Go的关键特性 283.1 简单的Go程序示例 303.2 Go包 343.3 Go注释 353.4 Go构建/运行过程 363.4.1 Go集成开发环境 373.4.2 构建Go程序 403.4.3 运行Go程序 413.4.4 字节码与实码 423.5 Go命令行工具 433.5.1 捆绑在Go命令中的工具 443.5.2 其他工具 453.6 Go运行程序而非类 453.7 Go内存管理 463.8 Go标识符 503.9 Go作用域 50Go作用域与Go源文件 523.10 初始化Go变量 543.11 Go标识符的生命期 563.12 Go模块摘要 563.13 Go赋值和表达式 603.14 Go中的文本格式设置 613.15 Go协程(并发执行单元) 653.15.1 并发问题 653.15.2 Go并发 663.15.3 Go协程示例 69第4章 Go类型 764.1 基本/内置类型 764.1.1 数值 764.1.2 字符和字符串 774.1.3 引用与指针类型 784.1.4 深入基本数据类型 804.1.5 方法作为函数 954.1.6 任何被声明的类型都可以有自定义函数 964.1.7 函数作为值 974.1.8 结构字段 1024.1.9 结构体字面量 1044.1.10 嵌套结构 1044.1.11 结构体字段对齐 1054.1.12 接口 1084.1.13 复合接口 1104.2 变量声明 1134.3 常量声明 1154.4 类型转换 1164.5 类型测试 1174.6 派生类型声明 119第5章 错误与panic 1225.1 Go错误 1225.2 Go panic 1235.3 错误与panic演示 126第6章 Go语句 1316.1 包与导入语句 1326.2 赋值语句 1336.3 声明变量 1336.4 声明命名常量 1356.5 if/else语句 1366.6 switch语句 1386.7 while语句 1406.8 do-while语句 1406.9 带索引的for语句 1416.10 遍历集合的for语句 1416.11 无限循环 1436.12 break与continue语句 1446.13 goto语句 1446.14 return语句 1446.15 defer语句 1456.16 go语句 1466.17 select语句 147第7章 接口应用 1497.1 接口是核心 1497.2 有关依赖注入 1517.3 面向切面编程 156第8章 Go单元测试和基准测试 1608.1 Go测试用例和基准测试 1608.2 Java测试用例 169第9章 Go的未来 1739.1 改进的错误处理 1739.2 Go泛型 1749.3 生命游戏的capstone示例 1789.4 生命游戏的Go源代码 1819.4.1 Java实现的capstone项目 1829.4.2 Go实现的capstone项目 2139.5 API输出 2349.6 Game输出 237第三部分 Go库综述第10章 主要包比较 24810.1 Java语言包 24810.2 JavaIO包 25110.3 Java Text包 25210.4 Java Time包 25310.5 Java Util包 254第11章 重要方法/函数比较 259第12章 Go包概述 26312.1 Go的文件访问 26312.2 压缩服务 265?12.2.1 存档包 265?12.2.2 压缩包 26712.3 image包 26812.4 Input/Output(I/O) 26912.5 字节包 27412.6 格式化包 27612.7 数据集合 27812.8 排序 27912.9 上下文包 28112.10 密码学、哈希和数据编码 28312.11 encoding包 284第13章 SQL数据库访问 288第14章 客户端和服务器支持 29614.1 MIME包 29614.2 网络包 29614.3 net包 29614.4 HTTP template包 30514.5 net.http包 309
內容試閱
Preface前  言自20世纪90年代中期首次亮相以来,Java获得了巨大成功。相比于其他语言,Java在Web应用程序和关键数据处理(例如大数据工具)领域扮演了重要角色。除此之外,Java在操作系统和硬件架构之间的高度可移植性、丰富且不断改进的语言和函数库,与其良好的性能一起促成了它的成功。但Java也有一些缺点。Java创建于面向对象编程刚刚规范化、网络传输代码刚刚规模化的时代。随之而来的问题是Java运行时(runtime)占用空间大、资源需求大。Java开发人员试图通过Java模块、标准库子集和Graal虚拟机解决。但实现同样的功能,Go语言比Java语言更节省资源。随着时间的推移,Java语言和运行时不再是众多现代(尤其是云平台)程序的最佳选择。另外,Java的持续发展带来了一个问题:人们很难全面掌握它。Go却是一门简单易懂的语言。Go语言及其运行时相对较新,旨在满足现代云计算系统和其他系统编程任务的需求。很多人认为它是“比C更好的C”,可能替代C语言,因为Go是与C极为相似的语言。Go语言也可实现Java在服务器和应用程序方面的大部分功能。这是本书成书的原因。现在,Go语言正在用于许多新应用程序的开发和已有应用程序的重构上。以前用Java开发的程序,可能选择Kotlin或ScalaJVM(都是基于Java虚拟机的语言)重构,但现在Go语言常常超越二者。例如,Khan Academy使用Go重构其Python网站。由于Go具有类似脚本语言的易用性以及编译语言的高效性,因此常被用于重构。Go首席设计师Robert Griesemer、Rob Pike、Ken Thompson都在谷歌工作,他们对Go语言以及相关运行时应该具备的特性设想如下(某些特性Java也有):高开发效率。Go提供了一个方便且合理的完整运行时,并提供了一站式工具链,有广泛的社区支持。可读性和开发人员可用性高。语言本身小,易于学习,它的代码容易阅读和理解,而不是易于编写。它的目标是具有Python等非静态语言的易用性。通常情况下,这种语言是“固执”的(要么接受,要么放弃)。Go使用内存垃圾收集(Garbage Collection,GC)机制,降低程序员的工作量,并确保程序可靠。Go是静态链接的(而不是如Java那样是动态链接的),便于程序的部署和运行管理。静态类型。通常支持更安全、更高效、更可预测的程序,对服务器的高可靠性和长时间运行有帮助。运行时效率。代码高效地利用处理器,与C/C++程序效率相当。高网络性能。现在代码需要适应广泛使用的分布式/云应用。对于实现相同级别的功能,Go通常比Java的资源密度低。这有助于减少资源占用,提高现代云分布的规模。多处理器系统的高利用率。目前代码需要便捷、安全地利用多核系统。Go擅长利用多核系统。Rob Pike对Go特性归纳如下:……我们希望该语言具有静态编译语言(如C++和Java)的安全性和性能,但也有动态类型的解释语言(如Python)的轻巧和趣味。同样重要的是,它应适用于现代、网络化、多核硬件上的大型系统软件开发。Go Brand Book(GBB)指出:Go是一种开源编程语言,能够大规模开发简单、高效和可靠的软件。GBB进一步说明,Go语言对于新程序员具有如下优点。在保证静态语言的速度、安全性和可靠性的同时,达到了动态语言的生产力。易学、易读。拥有一个充满活力的社区(涵盖开源开发者、初创公司、大公司和大学)。是面向云的编程语言。对于有经验的程序员具有如下优点。可以解决重大工程问题。由谷歌支持,谷歌理解并支持开源社区对Go的具体需求。行业内对Go程序员的需求旺盛。在很多方面,Go很像Node.js—一个流行的基于JavaScript的应用程序开发平台。Node.js可快速开发轻量级服务器,因此是一个受欢迎的微服务平台。Node.js与Go拥有类似的功能、历史和社区支持。因为Go语言的类型安全和Go协程(相对于Node.js的事件循环),Go可提供比Node.js更大的规模和更可靠的解决方案。作者认为,Go将替代大量的Node.js用例。因此,可以用Go语言来重新编写许多以前用Java编写的应用程序,尤其是云环境中的那些。下面是相比Java而言Go具有的一些优点。Go是一门较小型的语言,具有简洁、可维护和易学等特性。Go更适用于多核处理器和高级并发。Go自带了一套小型但功能强大的标准库,适用于构建服务器程序。Go适用于云中的执行,尤其是在容器化环境中。Go适用于代码量与运行时资源消耗较大可能带来问题的受约束的环境。Go是开源的,拥有活跃的开发人员社区,且由谷歌赞助,轻易不会消失。此外,Go社区承诺过未来Go会保持向后兼容。这使得Go成为一门适用于商业开发的优秀语言。Hacker Noon上有文章表示:Go正成为下一代企业编程语言。Go是一门专为大规模软件开发而设计的语言,提供了健壮的开发体验,并避免了现有语言的许多问题。这些因素都促使Go最有可能替代Java,成为未来企业中主流的软件开发平台。总体来说,它们(Go的设计选择)让Go成为Java以外针对大型开发项目的现代编程语言最优选择。InfoWorld上有文章指出:Google的Go语言已经很有名了,它轻量化、编译快,而且包含丰富的库和抽象,从而适用于并发和分布式(云)应用开发。但衡量编程语言成功与否的真正标准是开发人员用它创建的项目。Go已被证明是快速开发网络服务、软件基础设施项目和各种紧凑而强大的工具的首选。使用了Go语言的开源软件有Docker、Kubernetes、Fedora CoreOS、InfluxDB、Istio、Traefik、Hugo、Terraform、CockroachDB与Gravitational Teleport。值得注意的是:Docker和Kubernetes是容器化许多现代应用的基础技术,很多组织基于二者构建了稳健、优秀的系统。这都是Go语言与其运行时成熟的证明。Brainhub上列出了使用Go的大公司所看到的这门语言的优势。代码简洁。适合构建大项目。易学。一个问题一个解决方案。易维护。类C。专为多核处理器设计。专为互联网设计。快速编译。应用程序小。开源模型。使用Go的公司包括Google(这是当然的)、Uber、Twitch、Dailymotion、SendGrid、Dropbox与SoundCloud。Awesome Open Source列出了超过15 000(还在增加中)个使用Go的项目。Sandra Parker预计Go有一个成功的未来,她强调:因为它是由谷歌创造的。她也给出了Go流行的原因:Go是与众不同的,是一门年轻的语言,一开始就因功能强大吸引了众多程序员。以及随着时间的推移,Go越来越流行的原因:Go编写的程序性能好。Go兼有C/C++的效率、Java的并行处理以及Python、Perl、Erlang的易读等特点……这是众多公司从其他语言转向Go的原因。Go是未来的语言。2020年,Ziff Davis声称Go是最需要学习的语言,如图0-1所示。还有一些组织赞扬了Go的优点,并指出它的未来前景广阔。例如Towards Data Science列出Go成功的关键特性。Go在语言层面支持并发。通过Go协程(轻量级绿色线程)和通道提供了基于CSP(通信顺序进程)的消息传递并发。Go的最大独特卖点(USP)是其语言设计与简洁性。它成功融合了Python的简洁多产和C语言的强大。Go内置了垃圾收集器(尽管不如JVM垃圾收集器那么成熟)。Go开发人员能够像使用Java、Python那样进行安全的系统编程。图0-1 专业人士想学的编程语言Go被GeeksforGeeks列入最受欢迎的语言前5名,表述如下:Go是一种静态类型的开源编程语言,由谷歌设计,它使程序员的工作效率更高,并帮助他们轻松构建简单、可靠和高效的软件。这种语言在语法上类似C语言,但具有内存安全、垃圾收集机制、结构化类型机制和CSP风格的并发性质。Go因在网络和多核领域的高性能而出名。本书将简要介绍Go背后的概念以及诞生理由。首先将介绍Go的各种特性以及它与Java的差异,而后将介绍Go语言的语句和数据类型,以及未来Go会进一步增强的功能,接着将介绍一个capstone Go程序示例来体验Go编程,接下来我们将Go标准库与对应的Java库进行对比,最后是Go标准库的各部分的使用介绍。这部分内容在Go网站有更深入、更全面的描述。确切来说,本书主体分为三部分:第一部分介绍Go语言的一些背景,包括Go的简要介绍,以及与Java的主要特性对比;第二部分描述Go语言的主要特性,以及在实践中的应用;第三部分介绍Go的标准库,将Go标准库与Java库进行了对比,并总结了Go的关键标准库。另外,本书还有5个附录,包含Go的安装介绍以及一些摘要和参考信息。注意在本书的例子中,长语句被分割为多行。这在实际Go源代码中是不允许的。本书的相关代码可在www.github.com/apress/go- for-Java- programmers下载。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.