Sign up
Forgot password?
FAQ: Login

Bodner Jon. Learning Go: An Idiomatic Approach to Real-world Go Programming

  • pdf file
  • size 4,74 MB
Bodner Jon. Learning Go: An Idiomatic Approach to Real-world Go Programming
2nd Edition. — O’Reilly Media, Inc. — 2024. — 494 p. — (Final). — ISBN: 978-1-098-13929-2.
Go has rapidly become the preferred language for building web services. Plenty of tutorials are available to teach Go's syntax to developers with experience in other programming languages, but tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.
No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner introduces the design patterns experienced Go developers have adopted and explores the rationale for using them. This updated edition also shows you how Go's generics support fits into the language.
While most of Go’s features are found in other languages, Go makes different tradeoffs, so programs written in it have a different structure. Learning Go starts by looking at how to set up a Go development environment and then covers variables, types, control structures, and functions. If you are tempted to skip over this material, resist the urge and take a look. It is often the details that make your Go code idiomatic. Some of what seems obvious at first glance might be subtly surprising when you think about it in-depth.
This book helps you:
Write idiomatic code in Go and design a Go project.
Understand the reasons behind Go's design decisions.
Set up a Go development environment for a solo developer or team.
Learn how and when to use reflection, unsafe, and cgo.
Discover how Go's features allow the language to run efficiently.
Know which Go features you should use sparingly or not at all.
Use Go's tools to improve performance, optimize memory usage, and reduce garbage collection.
Learn how to use Go's advanced development tools.
Setting Up Your Go Environment.
Predeclared Types and Declarations.
Composite Types.
Blocks, Shadows, and Control Structures.
Functions.
Pointers.
Types, Methods, and Interfaces.
Generics.
Errors.
Modules, Packages, and Imports.
Go Tooling.
Concurrency in Go.
The Standard Library.
The Context.
Writing Tests.
Here Be Dragons: Reflect, Unsafe, and Cgo.
  • Sign up or login using form at top of the page to download this file.
  • Sign up
Up