• Online, Self-Paced
Course Description

Learning the fundamentals of a new programming language is vital to your success in utilizing the language to its fullest. In this course, you'll learn the skills required to use the Go programming language to write your own programs. This includes basic language syntax, working with variables, types, structs, slices, and maps. Additionally, flow control statements such as for, if, and switch are examined, and pointers, Goroutines, and channels are introduced.

Learning Objectives

Go Language Basics

  • start the course
  • describe the background and basic features of the Go programming language
  • recognize a simple Go program and how it is created and executed
  • work with packages and imports, and recognize the more commonly used packages from the Go standard library
  • declare and initialize variables and constants in Go
  • work with pointers in Go programs, including passing by value and passing by reference
  • recognize the basic types in the Go language and describe type inference
  • work with functions, including passing arguments and returning values

Flow Control Statements in Go

  • recognize and work with the for statement in Go programs
  • recognize and work with the if statement in Go programs
  • recognize and work with the switch statement in Go programs
  • recognize and work with the defer statement in Go programs

Practice: Flow Control Statements in Go

  • write a Go program that uses flow control statements

Additional Types in Go

  • work with arrays in Go programs, including declaring and initializing them
  • declare and initialize slices in Go programs
  • work with slices within functions and methods of your Go programs
  • manipulate Go slices using Go's built-in make, copy, and append functions
  • work with structs in your Go programs
  • declare, initialize, and manipulate maps in Go
  • recognize and work with some of the more advanced features associated with functions in Go

Methods, Interfaces, and Concurrency in Go

  • create and use methods in your Go programs
  • recognize and work with Go's implementation of interfaces
  • describe how concurrency is implemented in Go and the benefits of writing concurrent programs
  • recognize how to create a concurrent program in Go
  • describe the purpose of channels in Go programs and how to use unbuffered and buffered channels

Practice: Working with Slices in Go

  • write a Go program that creates and manipulates a slice

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development