Intro to Go Workshop

Presented by Mark Bates

Description

This course is tailored to developers learning Go for the first time or having less than one year of Go development experience. This workshop will cover practical, daily Go fundamentals. Starting with the language fundamentals, students will move into interfaces and how they lend to embedding and composition in Go. We will finish up with an overview of concurrency in Go.

What a student is expected to learn

Everyone will have a strong understanding of language fundamentals, such as syntax and types, arrays, slices, maps, pointers and functions.

Prerequisites

At least one year of production experience with another modern programming language. Beginners are highly encouraged to attend this training.

Buy Tickets - $199
Agenda (4 hours)
Tuesday, May 19, 2020
  • 9:00 AM EST
    Introduction and setup
  • 9:10 AM EST
    Start Workshop
  • 10:45 AM EST
    30 Minute Break
  • 11:15 AM EST
    Workshop
  • 1:00 PM EST
    End Workshop
Presenter's Bio

Mark Bates is a full-stack web developer with over 18 years of experience building high-quality scalable applications for companies such as Apple, USA Today, Klarna and Palm. He has written three books, “Distributed Programming with Ruby”, “Programming in CoffeeScript”, and “Conquering the Command Line”. Mark has spoken at conferences around the world, has led user groups such as Boston Ruby and Boston Golang, and has helped to organize conferences such as GothamGo and GopherCon. Mark is the co-founder of PaperCall.io, a platform for connecting technical events with high-quality content and speakers. Mark is also a partner at Gopher Guides, the industry leader for Go training and conferences. In his spare time Mark leads development of the Go web framework Buffalo.

Course Details

  • Welcome

    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 will learn the keywords, operators, and delimiters that make up the language. You will then move into Syntax and Types, as well as learn how strings are handled as well as UTF-8 text.

    You will 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 the contact information for our instructors.

Buy Now! $49

Includes admission for all talks, real time discussions, and early access to all recorded videos. View the agenda.

Buy Now! $199

At the heart of Machine Learning is the model’s code, but it only accounts for a fraction of the overall code of a production system and the rest is the infrastructure needed to power and utilize it. In this workshop, we will focus on the infrastructure of a Machine Learning application written in Go and integrate the systems needed to deploy a ML model at scale.

Buy Now! $199

At the 'edges' of your program (e.g. when interacting with other services) you will use serialization to send and receive data. Working efficiently with serialization will make your interfaces more flexible, will save you money on CPU & bandwidth and free you to focus on writing business value code.

Buy Now! $199

Whether you are just getting started in Go or have been writing Go code for a couple years, this class will make sure you have what you need to write simple, quick, robust tests. We will start with the basics and introduce table driven tests. Then we'll work through advanced concepts such as testing asynchronous code as well as mocking and injecting code. We’ll finish up with example tests and code coverage. We believe in a hands-on approach to learning, so be ready to write a lot of tests!

Buy Now! $199

This course is tailored to developers learning Go for the first time or having less than one year of Go development experience. This workshop will cover practical, daily Go fundamentals. Starting with the language fundamentals, students will move into interfaces and how they lend to embedding and composition in Go. We will finish up with an overview of concurrency in Go.

Buy Now! $199

This course was designed to take experienced Go developers and walk them through how to use all the Go tooling to make your code perform better. We will start with a complete look at benchmarking from start to finish. Then a walk-through of the profiling tools will be presented. Students will finish up by learning about common optimizations in Go. After learning about these optimizations, you will be able to apply this knowledge to your own code to identify performance issues.