Go Fundamentals: Syntax, Types, Slices/Maps, Pointers, and Functions

Date: February 11th, 2019 - 9AM EST - 12PM EST

In this first installment of Go Fundamentals, you will learn the basic building blocks of the language, and how to put them together. Learn the idiomatic way to write go and common mistakes and pitfalls that developers new to the language should know.

Each attendee will receive a link 24 hours prior to the start of the workshop with links to all class material. Additionally, each attendee will receive a link after the workshop to the recording of the workshop as well.

Workshop Overview

This module covers general information about your instructor and course materials.

Getting Started

This chapter covers general environment setup and other resource related
information needed to complete the courses contained within.

Syntax And Types

In this chapter we will cover the basic keywords and syntax of the Go language.
You'll learn the keywords, operators, and delimiters that make up the language.
You'll then move into Syntax and Types. Learn how strings are handled as well
as UTF-8 text.

You'll also learn about variables, constants, and iota. Then, using those
concepts, how to create structs and initialize them.

Packages

Packages are how Go organizes code. It is also how scope and visibility are
determined. This chapter will cover both executable and library packages. You
will also learn how to create your own package and use it within another
package.

Arrays And Iteration

Arrays in Go are useful when planning for detailed layout of memory. Using
arrays can sometimes help avoid allocation. However, their primary use is for
the building blocks of slices.

This chapter will cover the basics of creating, initializing, and indexing an
array. It will also cover basic loop constructs and loop control basics.

Slices

Slices wrap arrays in Go, and provide a more general, powerful, and convenient
interface to data sequences. In this chapter, you will cover slice basics such
as creating, initializing, and iteration. You will also learn how to grow a
slice, work with subsets of slices, and slice tricks.

Maps

Maps are a powerful built-in data structure that associates keys and values. In this chapter you will
cover basic map creation, initialization, and iteration. You will discover how to determine if values
exist in maps and how to update and delete map values.

Pointers

A pointer is a type that holds the address to the value of a variable. In many languages, pointers are a
source of pain and confusion. Go has made it easy to use and understand pointers. In this chapter you will
learn about the difference between pass by value and pass by reference. You will learn how to declare
pointers, and how to reference values as pointers. The chapter will discuss performance and security and
when to use pointers as well.

Functions

Functions in Go are a primitive type. This chapter will cover how to declare
and call functions. You will cover how to send zero or many arguments, as well
as receive zero or many arguments. Variadic arguments, defers, and panics will
also be covered.

Finalize

This chapter covers where to get more support on Go, recommends books and
videos, and list contact information for our instructors.