對比 Java 學習 Go Java 程式設計師的 Go 語言速成指南 Go for Java Programmers: Learn the Google Go Programming Language

Feigenbaum Ph. D., Barry 譯 張燕妮

買這商品的人也買了...

商品描述

本書深入介紹Go程式語言及其相關的標準運行時庫。
本書的目標讀者是已經掌握Java程式語言並且希望將Java知識用於指導Go學習的程式設計師。
讀者將深入了解Go語言,並很好地了解各種Go標準庫。
透過閱讀本書,你將能夠: 熟悉關鍵的Go運行時庫及其與Java庫的比較; 了解何時適合使用Go語言而不是Java語言;
閱讀並理解用Go編寫的程序; 了解Go的開發流程; 確定針對具體的應用程序,哪種語言更有優勢;
了解Go與Java語言在開發經驗上的互通之處。

目錄大綱

目錄
前言
致謝
作者簡介
第一部分初步了解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 if6/else 語句
6. 。
_
_
_
_
_
_
_
_
_
_
_
_
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 。
_
_
_
_
_
_
_
_
_
_ MIME包
14.2 網路包
1