Course Outline

Contextual Comparison: Go in the Programming Landscape

  • Comparative Analysis: Go vs Java, Python, C, and Other Languages
  • Fundamental Design Philosophies of Go
  • Appropriate Use Cases for Go

Core Concepts of the Go Language

  • Establishing a Go Development Environment for Government
  • Variables, Constants, and Data Types in Go
  • Functions and Multiple Return Values
  • Control Structures: if, switch, and for Loops
  • Arrays, Slices, and Maps in Go
  • Structs and Embedding Mechanisms
  • Methods and Interfaces in the Go Language
  • Understanding Pointers in Go for Government Applications
  • Error Handling Best Practices and Patterns

Concurrency Capabilities in Go

  • Goroutines and the Go Runtime Scheduler
  • Channels for Message Passing
  • Select Statements for Concurrent Control Flow
  • Concurrency Patterns: Fan-Out, Fan-In, and Worker Pools
  • Synchronization Techniques: WaitGroups and Mutexes

Utilizing Standard and Common Packages in Go for Government

  • Working with fmt, strings, time, and math Packages
  • File I/O Operations Using os and io/ioutil
  • HTTP Clients and Servers with net/http
  • JSON Parsing and Encoding in Go for Government Applications

Project Organization and Dependency Management with Go Modules

  • Using Go Modules for Effective Dependency Management
  • Organizing Packages and Files in a Go Project
  • Building and Installing Go Applications for Government Use

Go Tooling for Development Efficiency

  • 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
  • Optional: Debugging Techniques with Delve

Summary and Next Steps for Government Developers

  • Best Practices for Go Development in the Public Sector
  • Overview of Go Web Frameworks and Ecosystem
  • Resources for Continued Learning and Professional Development

Requirements

  • Knowledge of any programming language (e.g., C, Java, Python, PHP, etc.).
  • This course does not cover basic concepts such as loops or if-statements; it focuses on their implementation in Go.

Audience for Government

  • Software developers 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