Mastering Go: Writing Golang production applications using Network Libraries, deep concurrency, advanced Go data structures and cloud-native techniques (Paperback)
暫譯: 精通 Go:使用網路函式庫、深度併發、高級 Go 資料結構和雲原生技術撰寫 Golang 生產應用程式(平裝本)

Mihalis Tsoukalos

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

商品描述

Exploring the major features and packages of Go, along with its types and data-structures, enabling the reader to write threadsafe, concurrent cloud, and network applications

Key Features

  • Not your typical introduction to the Golang programming language
  • Exploring Golang cradle to grave, completes the developer's Golang education
  • A thorough exploration into the core libraries and Golang features, that usually are taken for granted
  • In depth explanation, detailing the rationale behind composite data types, Golang concurrency, and the Golang networking library

Book Description

The Go programming language, often referred to as Golang (albeit wrongly), is really making strides, with some masterclass developments, architected by the greatest programming minds. Tobias Lutke, CEO of Shopify, recently quoted as saying “Go will be the server language of the future”, powerful words, with much ambition. Go programmers are in high demand, but more controversially, Go takes the stage, where C and Unix programmers previously led the way.

The growth of the Go language has seen it become the means by which systems, networking, web, and cloud applications are implemented. Comfortable with syntax, you'll benefit by mastering the use of the libraries and utilise its features, speed, and efficiency, for which the Go ecology is justly famous.

You already know a little Go syntax and you've written some small projects, most Go programmers face the difficulty of having to integrate their Golang skills with production code. Typical introductions to Go programming, often stop short of this transition, the author continue on, showing you just how to tackle this.

Offering a compendium of Go, the book begins with an account of how Go has been implemented, also, the reader will benefit from a dedicated chapter, an in-depth account of concurrency, systems and network programming, imperative for modern-day native cloud development.

What you will learn

  • Understand the design choices of Golang syntax
  • Know enough Go internals to be able to optimize Golang code
  • Appreciate concurrency models available in Golang
  • Understand the interplay of systems and networking code
  • Write server-level code that plays well in all environments
  • Understand the context and appropriate use of Go data types and data structures

Who This Book Is For

This book is for Golang programmers. You should have previously read an introductory book on Go, or to have worked through the Tour of Go or an equivalent online course. This book will definitely help to remember the basic concepts of concurrency, but network programming will be explained. A certain amount of previous coding and production experience would be helpful.

Table of Contents

  1. Go and the Operating System
  2. Understanding Go Internals
  3. Working with Basic Go Data Types
  4. The Uses of Composite Types
  5. Enhancing Go Code with Data Structures
  6. What You Might Not Know About Go Packages
  7. Reflection and Interfaces for All Seasons
  8. Telling a Unix System What to Do
  9. Go Concurrency – Goroutines, Channels, and Pipelines
  10. Go Concurrency – Advanced Topics
  11. Code Testing, Optimization, and Profiling
  12. The Foundations of Network Programming in Go
  13. Network Programming – Building Servers and Clients

商品描述(中文翻譯)

**探索 Go 的主要特性和套件,以及其類型和資料結構,使讀者能夠編寫執行緒安全的並發雲端和網路應用程式**

#### 主要特性

- 這不是一本典型的 Go 語言入門書
- 從頭到尾探索 Golang,完成開發者的 Golang 教育
- 徹底探索核心函式庫和 Golang 特性,這些特性通常被視為理所當然
- 深入解釋,詳細說明複合資料類型、Golang 的並發性以及 Golang 網路函式庫背後的原理

#### 書籍描述

Go 程式語言,通常被稱為 Golang(雖然這是錯誤的稱呼),正在取得重大進展,並由最偉大的程式設計頭腦架構出一些大師級的開發。Shopify 的 CEO Tobias Lutke 最近引用說過「Go 將成為未來的伺服器語言」,這是強而有力的話語,充滿雄心。Go 程式設計師的需求很高,但更具爭議的是,Go 取代了 C 和 Unix 程式設計師曾經主導的舞台。

Go 語言的成長使其成為系統、網路、網頁和雲端應用程式實現的手段。熟悉語法後,您將受益於掌握函式庫的使用,並利用其特性、速度和效率,這正是 Go 生態系統所聞名的。

您已經了解一些 Go 語法並編寫了一些小專案,但大多數 Go 程式設計師面臨的困難是將他們的 Golang 技能與生產代碼整合。典型的 Go 程式設計入門書籍通常未能涵蓋這一過渡,作者將繼續展示如何應對這一挑戰。

本書提供了 Go 的綜合資料,首先介紹 Go 的實現方式,讀者還將受益於專門的一章,深入探討並發性、系統和網路程式設計,這對於現代原生雲端開發至關重要。

#### 您將學到的內容

- 理解 Golang 語法的設計選擇
- 知道足夠的 Go 內部知識以優化 Golang 代碼
- 欣賞 Golang 中可用的並發模型
- 理解系統和網路代碼之間的相互作用
- 編寫在所有環境中都能良好運行的伺服器級代碼
- 理解 Go 資料類型和資料結構的上下文及適當使用

#### 本書適合誰

本書適合 Golang 程式設計師。您應該之前已閱讀過一本 Go 的入門書籍,或完成過 Tour of Go 或等效的線上課程。本書將幫助您記住並發的基本概念,但網路程式設計將會被解釋。具備一定的程式編寫和生產經驗將會有所幫助。

#### 目錄

1. Go 與作業系統
2. 理解 Go 內部
3. 使用基本的 Go 資料類型
4. 複合類型的用途
5. 使用資料結構增強 Go 代碼
6. 您可能不知道的 Go 套件
7. 反射與介面
8. 指示 Unix 系統執行任務
9. Go 的並發性 - Goroutines、Channels 和 Pipelines
10. Go 的並發性 - 進階主題
11. 代碼測試、優化與分析
12. Go 中的網路程式設計基礎
13. 網路程式設計 - 建立伺服器和客戶端