Go keyword
The Go go keyword starts a function or method call as a goroutine, allowing it to execute concurrently with the caller.
Go in Practice, Second Edition
The Go keyword is a language construct that starts a function call as a goroutine while allowing the caller to continue immediately.
- How it is used
- Starts function calls concurrently so callers can continue, including background input processing and per-connection server handling.
- How deep it goes
- Defines the call syntax and works through task lifetime, server use, and panic recovery; defers scheduling internals.
- Examples
- Uses a timed terminal echo, a concurrent counting function, and per-connection TCP handlers.
- What you can do after
- Apply it via Go’s `go` statement to launch concurrent tasks while accounting for program lifetime and handler panics.
Read how Go in Practice, Second Edition explains go keyword →
Learn Concurrent Programming with Go
The Go keyword go starts a function invocation as a goroutine without making the caller wait for its completion.
- How it is used
- Launches function calls asynchronously to replace sequential work with concurrent goroutines.
- How deep it goes
- Defines asynchronous invocation through runnable work and shared-memory examples, while deferring proper completion coordination and race handling.
- Examples
- Uses five timed work calls, a shared countdown pointer, and 31 concurrent web-page letter counters.
- What you can do after
- Apply it via Go's go keyword to launch independent function calls concurrently while accounting for program termination and unsafe shared updates.
Read how Learn Concurrent Programming with Go explains go keyword →
Go in Action, Second Edition
The Go language keyword that starts a function executing as a goroutine.
- How it is used
- Starts functions concurrently so a feed reader can do other work while an RSS request waits for the network.
- How deep it goes
- Demonstrates launch syntax and the early-exit problem, but defers reliable synchronization mechanisms.
- Examples
- Contrasts synchronous RSS parsing with anonymous and named goroutines fetching one or two news feeds.
- What you can do after
- Apply it via Go’s `go` keyword to launch concurrent feed fetches while accounting for completion before `main` returns.
Related concepts
- goroutineuses · A goroutine is a lightweight function execution unit managed by the Go runtime that runs concurrently with other program activity.
- sequential processingcontrasts with · Sequential processing is the execution of operations or tasks one after another in a defined order rather than concurrently.
- keywordkind of · A keyword is a language-defined word or token with a predefined syntactic or semantic role, often restricted from use as an ordinary identifier.
- keywordkind of · A keyword is a word or phrase with special significance for representing a topic, information need, content relevance, or syntactic role.
- WaitGroupalternative to · WaitGroup is a synchronization type that counts concurrent operations and allows execution to wait until the counter reaches zero.
- errgroup.Group.Goused by · errgroup.Group.Go is a method that starts an error-returning function in a goroutine managed by an errgroup.Group and records its returned error.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


