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

Duration: 3 Hours

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.

Having problems purchasing above? Purchase directly from Eventbrite

Workshop Overview

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

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

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 are how Go organizes code. It is also how scope and visibility are determined. This module will cover both executable and library packages. You will also learn how to create your own package and use it within another package.

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 wrap arrays in Go, and provide a more general, powerful, and convenient interface to data sequences. In this module, 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 are a powerful built-in data structure that associates keys and values. In this module 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.

A pointer is a type that holds the address that points to a variables value. In many languages, pointers are the source of pain and confusion. Go has made it easy to use and understand pointers. In this module 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 module will discuss performance and security and when to use pointers as well.

Functions in Go are a primitive type. This module 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.

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

Mark Bates


Mark specializes in Go Fundamentals, Advanced Go, Web Development, and Buffalo.