Mastering Go: Writing Golang production applications using Network Libraries, deep concurrency, advanced Go data structures and cloud-native techniques (Paperback)

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的主要功能和套件,以及其類型和數據結構,使讀者能夠編寫線程安全、並發的雲端和網絡應用程序

主要特點


  • 非典型的Golang程式語言介紹

  • 全面探索Golang,完成開發者的Golang教育

  • 深入解析核心庫和Golang功能,這些通常被視為理所當然

  • 詳細解釋複合數據類型、Golang並發和Golang網絡庫背後的原理

書籍描述

Go程式語言,通常被稱為Golang(儘管錯誤),正在取得重大進展,由最偉大的程式設計師設計的一些大師級開發。Shopify的CEO Tobias Lutke最近說過:“Go將成為未來的服務器語言”,這是非常有野心的話。Go程式設計師需求量很大,但更具爭議的是,Go取代了以前由C和Unix程式設計師主導的舞台。

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

您已經了解一些Go語法並編寫了一些小型項目,大多數Go程式設計師面臨的困難是將其Golang技能與生產代碼集成。典型的Go程式設計介紹通常在這個過渡階段停止,作者則繼續向您展示如何應對這個問題。

本書提供了Go的彙編,從Go的實現開始,讀者還將受益於一個專門的章節,深入介紹並發、系統和網絡程式設計,這對於現代本地雲端開發至關重要。

您將學到什麼


  • 了解Golang語法的設計選擇

  • 了解足夠的Go內部知識,以優化Golang代碼

  • 理解Golang中可用的並發模型

  • 了解系統和網絡代碼的相互作用

  • 編寫在所有環境中都能良好運行的服務器級代碼

  • 了解Go數據類型和數據結構的上下文和適當使用

本書適合對象

本書適合Golang程式設計師。您應該之前讀過一本關於Go的入門書,或者完成了Go之旅或類似的在線課程。本書肯定會幫助您記住並發的基本概念,但將解釋網絡程式設計。一定程度的編碼和生產經驗將有所幫助。

目錄


  1. Go和操作系統

  2. 理解Go內部

  3. 使用基本的Go數據類型

  4. 複合類型的用途

  5. 使用數據結構增強Go代碼

  6. 關於Go套件的你可能不知道的事情

  7. 反射和接口

  8. 告訴Unix系統該做什麼

  9. Go並發- Goroutines、通道和管道

  10. Go並發-高級主題

  11. 代碼測試、優化和分析

  12. Go網絡程式設計的基礎

  13. 網絡程式設計-構建服務器和客戶端