Golang Essentials

Master the features of the Go Programming Language! Learn how to program using this open-source programming language, developed and supported by Google!. Hands-on Labs and environment reinforce skills.

Go is designed to be concise, clean, and efficient. It is easy to write programs that get the most out of multicore and networked machines. Go compiles quickly to machine code yet has the feel of a dynamically typed, interpreted language.

Be it system admins, network, cloud, or storage engineers, all lessons in our courseware are highly relevant for using Go to craft enterprise solutions.

Days : 5
Price :




Course Objectives

  • Current Go Standard Library
  • Relevant networking libraries
  • Version control with git
  • Git integration with popular SCM (GitHub)
  • Executing system commands
  • Parsing and building files
  • Consuming RESTful APIs with Go
  • Creating a RESTful API with Go
  • Parsing JSON
  • Parsing XML files
  • Building a simple web app with Go
  • Containerizing Go Apps with Docker
  • Interaction with databases
  • Project structure best practice techniques

Outline: Golang Essentials (GE)

Introduction to Go

  • Installing Go
  • Preparing to write Go (tools you can use to write code)
  • Executing a Go file
  • Best practice techniques
  • Go Statements and Control Flow
  • Overview of the Standard Library

Version Controlling Code with Git

  • Overview of Git
  • Git commands
  • Set up a GitHub account
  • GitHub essentials
  • README course requirements
  • How to Set up a repo
  • ssue a Pull request
  • How to use “Issues” for peer review

Basics of Golang Programming

  • Basic Types
  • Composite Types
  • Functions
  • Methods
  • Interfaces
  • Reading in console input

Data Types in Go

  • Basic Type
    • Numbers
    • Strings
    • Booleans
  • Aggregate Type
    • Arrays
    • Structs
  • Reference Type
    • Pointers
    • SiteMaps
    • Functions
    • Channels
  • Interface Type
  • Type conversions

Conditionals, If, Else, and Else If

  • Trigger blocks of code with conditionals
  • switch… case statements
  • Conditional operators
    • Arithmetic Operators
    • Assignment Operators
    • Comparison Operators
    • Logical Operators
    • Bitwise Operators
  • If statement initialization
  • Nested if statements


  • Concurrency
  • Creating a goroutine
  • Fetching values
  • Playing and pausing
  • Channels
  • Concurrency problems

Looping with “for”

  • The for Loop
  • For iteration examples
  • Looping across datasets from files

Getting Data In and Out of Go

  • Opening Files
  • Working with Files
  • Read data from files
  • Controlling Output Location
  • Intro to working with APIs
  • What is a “REST”ful API?
  • APIs and JSON
  • Marshalling and Unmarshalling
  • YAML

Creating Go Functions

  • Function Basics
  • Defining Functions
  • Functions with parameters
  • Returning values
  • Returning multiple values

Golang Packages

  • Packages
  • Go Struct and Field Validation examples
  • Dynamic JSON
  • Statistics package
  • Go Slice Map Filter
  • HTML Parser
  • Simple image processing
  • Chart package
  • Dynamic XML parser
  • Data time toolkit

Go Scope

  • Local Variables
  • Global Variables
  • Variable preference
  • Naming conventions

Regular Expression

  • CommonRegex Golang Package
  • Writing regular expression
  • Searching for data in files
  • Using Regular Expression to search data sets
  • Searching for data in Wireshark Traces (Go and *.pcaps)