Get in Touch

Course Outline

Go in Context: A Comparison

  • Go compared with Java, Python, C, and others.
  • Core design philosophies of Go.
  • Appropriate scenarios for using (and avoiding) Go.

Core Language Concepts

  • Setting up a Go development environment.
  • Variables, constants, and data types.
  • Functions and handling multiple return values.
  • Control structures: if, switch, and for.
  • Arrays, slices, and maps.
  • Structs and embedding.
  • Methods and interfaces.
  • Understanding pointers in Go.
  • Error handling idioms and patterns.

Concurrency in Go

  • Goroutines and the Go runtime scheduler.
  • Channels and message passing.
  • Select statements.
  • Concurrency patterns (fan-out, fan-in, worker pools).
  • Synchronization techniques (WaitGroups, Mutexes).

Using Standard and Common Packages

  • Working with the fmt, strings, time, and math packages.
  • File I/O using os and io/ioutil.
  • HTTP clients and servers with net/http.
  • JSON parsing and encoding.

Project Organization and Go Modules

  • Managing dependencies with Go modules.
  • Organizing packages and files.
  • Building and installing Go applications.

Go Tooling

  • Using gofmt and go vet for code formatting and linting.
  • Running and writing unit tests with go test.
  • Benchmarking and profiling with go test -bench and pprof.
  • Debugging with Delve (optional).

Summary and Next Steps

  • Best practices for Go development.
  • Overview of Go web frameworks and ecosystem.
  • Resources for continued learning.

Requirements

  • Familiarity with at least one programming language (e.g., C, Java, Python, PHP, etc.).
  • This course does not cover basic programming concepts such as loops or if-statements; instead, it focuses on how these constructs are implemented in Go.

Audience

  • Software developers who are already familiar with other programming languages.
  • Backend developers transitioning to Go.
  • Engineers working on cloud-native or performance-critical applications.
 28 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories