Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Juan M. Tirado

Everything a Gopher must know in a single book!!! Do not stay in the basics, move forward and learn how you can use Go to build systems using restful APIs, gRPC messaging, powerful loggers, middlware, SQL/noSQL databases, data streaming, and more. A book written for new adopters and experienced developers. More than 200 detailed examples Concise explanations from basic to advanced levels. Explore advanced topics: reflection, concurrency, benchmarking, profiling, etc. Learn how developers use Go: modules, tags, CLIs, encodings, etc. Learn how to build systems with gRPC, Kafka, Cassandra, MySQL, Cobra and more. Contents Part I: The GO language First steps with Go The basics Arrays, slices, and maps Structs, methods and interfaces Reflection Concurrency Input/Output Encodings HTTP Templates Testing Modules and documentation Part II: Building systems Protocol buffers gRPC Logging with Zerolog Command line interface Relational databases NoSQL databases Kafka The author Juan M. Tirado has been programming half of his life. He holds a Ph. D. in computer science and has been a researcher at the UC3M, INRIA, and the University of Cambridge. He is interested in how data can be leveraged to enhance large scale distributed systems. With a background between a systems architect and a data scientist, he helps companies to design and implement data-driven solutions. In his free time, he enjoys music, mountaineering, and tapas.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# Build Systems With Go: Everything a Gopher Must Know ## 【One-Line Pitch】 A two-part journey from Go language fundamentals to production-grade system building—covering everything from syntax and concurrency to gRPC, Kafka, and database integration—ideal for both new adopters and experienced developers who want to move beyond toy examples. ## 【Book Arc】 - **Opening (~0%–25%)**: Establishes the book's philosophy—Go's "extraordinary commitment to simplicity"—and lays out a clear roadmap. Part I covers language basics (syntax, variables, types, pointers, functions, control flow) for newcomers, while signaling that Part II assumes this foundation. - **Early (~25%–50%)**: Dives into Go's core data structures (arrays, slices, maps), then advances to structs, methods, and interfaces. Introduces reflection for in-memory data manipulation and tackles concurrency—goroutines, channels, contexts—framed as Go's killer feature for complex system design. - **Middle (~50%–75%)**: Covers the standard library's practical toolkit: I/O operations, encodings (CSV, JSON, XML), building HTTP clients and servers with middleware, templates, testing with benchmarks and coverage, plus modules and documentation practices. - **Late (~75%–100%)**: Transitions to ecosystem tools for real systems: Protocol Buffers for serialization, gRPC for service communication (including streaming and interceptors), Zerolog for structured logging, Cobra for professional CLIs, SQL databases with GORM, Cassandra via GoCQL, and Kafka for streaming. - **Ending (~100%)**: Wraps with the book's core convention—self-contained, minimalist examples with expected output shown—reinforcing the practical, example-driven approach that runs throughout. ## 【Key Takeaways】 - **Go's simplicity is its superpower** (Early): The language's design philosophy makes complex systems approachable—a recurring theme that justifies why Go has become the "gravity centre" of a growing ecosystem. - **Concurrency is the gateway to systems thinking** (Early): Goroutines, channels, and contexts are presented not as abstract concepts but as practical tools for designing complex solutions "effortlessly." - **The standard library is a hidden gem** (Middle): I/O, encodings, HTTP, templates, and testing are all covered with working examples—many developers underestimate how much production-ready functionality ships with Go out of the box. - **Testing and benchmarking are first-class citizens** (Middle): The book shows how simple it is to run test routines, benchmarks, coverage tests, and execution profiles—essential for production confidence. - **Protocol Buffers + gRPC form the modern service backbone** (Late): Fast, modular, easy-to-deploy messaging with streaming and interceptors—the foundation for distributed system communication. - **Professional CLIs don't require heroics** (Late): Cobra library integration gives you production-grade command-line interfaces with minimal effort—a practical skill often overlooked in language tutorials. - **Real systems need real data layers** (Late): SQL via the standard library and GORM, NoSQL via Cassandra/GoCQL, and streaming via Kafka—three different data paradigms covered with concrete client libraries. ## 【Reading Tips】 - **New to Go?** Read Part I sequentially (Chapters 1–12). The progression from basics → data structures → concurrency → I/O → HTTP → testing is carefully ordered; don't skip reflection (Chapter 5) even if it seems advanced—it's referenced later. - **Experienced developer?** Jump straight to Part II (Chapters 13–19) and treat Part I as a reference. The chapters are designed to be "checked at your convenience" rather than read linearly. - **Skim the basics, deep-read concurrency**: Chapters 2–3 cover familiar ground for most programmers, but Chapter 6 (Concurrency) deserves careful study—it's the conceptual bridge between language learning and systems building. - **Treat examples as mini-projects**: The book is built around self-contained, minimalist code examples with expected output. Run them, modify them, break them—this is where the real learning happens. - **Use Part II as a cookbook**: When you need gRPC, logging, CLIs, or database integration in your own projects, return to these chapters as practical references rather than reading them once. ## 【Coverage Limits】 This guide synthesizes the book's structure, philosophy, and chapter-level content from the available excerpts. Detailed code examples, specific API usage, and chapter-by-chapter technical depth are not covered here—the excerpts provide the roadmap, not the full journey. ##
Excerpt 1
书名: Build Systems With Go Everything a Gopher must know (Juan M. Tirado) (Z-Library) 作者: Juan M. Tirado Everything a Gopher must know in a single book!!! Do...
View in text
Page 2
Gotham image by Egon Elbre (@egonelbre) All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or...
View in text
Page 3
tems. If you are new to Go you can start from the beginning. However, if you have some experience you can start with the second part and revisit any basic co...
View in text
Page 5
apter explains through examples how Go provides I/O support. Chapter 8: Encodings The Go standard library offers by default solutions to work with encodings ...
View in text
Page 6
can be used to manipulate and query data from SQL databases. Additionally, it explores how to use the GORM library for ORM solutions. Chapter 18: NoSQL datab...
View in text
Tags
AI categories
GoBackendCloud Native
Publish Year: 2021
Language: English
File Format: PDF
File Size: 3.8 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…