Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Delio D'Anna, Andrew Hayes, Sam Hennessy, Jeremy Leasor, Gobin Sougrakpam, and Dániel Szabó

Rating No ratings yet

Learn to write clean, efficient code and build 

high-performance applications with Go

AI Reading Assistant

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

AI guide
【One-Line Pitch】 A hands-on, exercise-driven introduction to Go that takes you from syntax and core types to HTTP servers, databases, concurrency, and security. Best for beginners and developers from other languages who want to become productive in Go by building real mini-projects rather than reading theory. 【Book Arc】 - **Opening (~0%–10%)**: Environment setup plus the absolute basics — variables, operators, pointers, constants, scope, and the `if`/`switch`/loop control flow that makes code dynamic. - **Early (~10%–30%)**: The data foundation — core types (numbers, text, runes, `nil`), complex types (arrays, slices, maps, structs, embedding, type assertions), and functions including first-class function usage. - **Middle (~30%–55%)**: Working like a professional — errors and panics, packages and modularity, debugging and logging, time handling, JSON/gob encoding, files and CSV, SQL databases, and the Go HTTP client. - **Late (~55%–80%)**: Building networked software — HTTP servers, routing, templating, static resources, REST-style JSON endpoints, and Go's concurrency features for running tasks in parallel. - **Ending (~80%–100%)**: Tooling and hardening — `gofmt`/`goimports`, `go vet`, the race detector, security topics (SQL injection, XSS, hashing, symmetric/asymmetric encryption, TLS), and special features like build constraints, reflection, and `unsafe`. 【Key Takeaways】 - **Go is learned by doing, not by reading** (Early): every concept is paired with exercises and activities, so the book's value comes from typing and running the code yourself. - **Types are the backbone of Go programs** (Early): core types build into complex types, and understanding slices, maps, structs, and embedding is what lets you model real data cleanly. - **Functions are first-class citizens** (Early): passing, returning, and assigning functions unlocks flexible, reusable design patterns. - **Errors are values, not exceptions** (Middle): the book emphasizes handling errors the Go way, plus knowing when a `panic` is appropriate and how to recover. - **Packages and modularity keep code maintainable** (Middle): exported vs. unexported code, `init()` functions, and package structure are treated as everyday professional concerns. - **Go's standard library covers a lot of ground** (Middle–Late): JSON, files, time, HTTP client/server, and cryptography are all handled without heavy third-party dependencies. - **Concurrency is a headline feature** (Late): goroutines and channel-based concurrency let you split work and reduce processing time. - **Security and tooling are part of shipping** (Ending): hashing, encryption, TLS, static analysis, and race detection are presented as practical skills, not afterthoughts. 【Reading Tips】 - **Do the exercises, don't just read them.** The book is structured as a workshop; skipping the activities removes most of the learning value. - **Deep-read the type and function chapters (Early).** Slices, maps, structs, and function design are where beginners stumble most; slow down there. - **Skim the setup chapter if your environment already works.** Once Go, Git, and your editor are configured, move on quickly. - **Treat the later chapters as a reference.** HTTP, SQL, security, and special features are worth revisiting when you actually need them in a project. - **Keep the mini-projects in mind.** The shopping cart, loan calculator, web page counter, and authentication system tie concepts together — use them as checkpoints. 【Coverage Limits】 This guide is based on stratified excerpts covering the table of contents, preface, and setup material; the excerpts do not include the full body text of most chapters, so specific code examples and exercise solutions are not summarized here.
Excerpt 1
ublishing cannot guarantee the accuracy of this information. Authors: Delio D'Anna, Andrew Hayes, Sam Hennessy, Jeremy Leasor, Gobin Sougrakpam, and Dániel S...
View in text
Excerpt 2
ity 11.01: Mimicking a Customer Order Using JSON Summary 12. Files and Systems Introduction Filesystem File Permissions Flags and Arguments Signals Exercise...
View in text
Excerpt 3
You will learn what a panic is and how to recover from one. Chapter 7 , Interfaces , starts by teaching the mechanics of interfaces and then demonstrates tha...
View in text
Excerpt 4
this stops (and it may take a few minutes), you're all done. Once done, select View from the top menu bar, then select Explorer . You'll now need somewhere t...
View in text
Excerpt 5
0; // Print our message to the console   fmt.Println(msg) } Let's consider the hello() function: func hello(index int) (string, error) { &#xa0...
View in text
Excerpt 6
: Create a new folder and add a main.go file to it. In main.go , add the main package name to the top of the file: package main Now, add the imports we'll us...
View in text
Excerpt 7
: Create a new folder and add a main.go file to it. In main.go , add the main package name to the top of the file: package main Import the packages we'll nee...
View in text
Excerpt 8
"   "time" ) func getConfig() (bool, string, time.Time) {   return false, "info", time.Now() } func main() {   // Type only &#x...
View in text
Tags
AI categories
GoProgramming LanguageBackend
go
Publish Year: 2020
Language: English
File Format: EPUB
File Size: 14.9 MB