Building Applications in Go
Building Applications in Go
Overview
This Building Applications in Go training course teaches how to develop applications using the Golang programming language. Attendees learn how to use Go's standard library to overcome common programming challenges, build RESTful services, create a Go web application Docker image, and more.
Objective
- Understand Golang’s language constructs and unique features
- Write and call functions for proper code reuse
- Use the standard library to solve common problems
- Create concurrent applications in Go
- Construct RESTful services
- Build and deploy Docker containers for Go applications
Outline
- • Overview of the Go language
- • Comparison with other languages
- • Unique features of Go
- • Packages
- • Identifiers, variables, and constants
- • Operators
- • Data types
- • Control flow constructs
- • Pointers
- • Go functions
- • Function parameters
- • Higher order functions
- • Error handling
- • Returning results
- • Deferring function calls
- • Errors as values
- • Handling errors
- • Creating custom errors
- • Panic and recovery
- • Array type
- • Slice type
- • Map type
- • Struct type
- • Objects in Go
- • Go methods
- • Inheritance using type embedding
- • Type aliasing
- • Interfaces in Go
- • Empty interfaces @ any
- • Type assertion
- • Modules
- • Using 3rd party modules
- • Packages and nested packages
- • Dependency injection using “wire”
- • Goroutines
- • Channels
- • Passing data in and out of channels
- • Handling race conditions
- • Parallelism in Go
- • Sync package
- • Using context
- • Implementing worker pool
- • Readers and writers
- • Exploring the io package
- • Working with files
- • Buffered IO
- • Encoding and decoding data
- • Creating a database connection
- • Making database query
- • Adding, deleting, and updating records with Golang
- • Serializing and deserializing JSON
- • Serializing and deserializing XML
- • HTTP package
- • Building a web server
- • Using Gorilla Mux Router
- • Handling requests and responses
- • Serving static files
- • Server JSON responses
- • Cross-cutting concerns using middleware
- • Structured logging
- • Organizing test code
- • Performing assertions
- • Detecting unreachable code
- • Mocking dependencies using GoMock
- • Building a Go Docker image
- • Running the Docker container
- • Building a Go web application docker image
Training Materials
All Golang training students receive comprehensive courseware.
Software Requirements
• The latest distribution of Go for your operating system (Windows, Mac, or Linux)
• A Go-compatible IDE such as JetBrains GoLand
• Related lab files that Skillmetrix provides
Why Online Bootcamps
Develop skills for real career growth
Cutting-edge curriculum designed in guidance with industry and academia to develop job-ready skills
Learn by working on real-world problems
Capstone projects involving real world data sets with virtual labs for hands-on learning
Learn from experts active in their field, not out-of-touch trainers
Leading practitioners who bring current best practices and case studies to sessions that fit into your work schedule.
Structured guidance ensuring learning never stops
24x7 Learning support from mentors and a community of like-minded peers to resolve any conceptual doubts




