Skip to content
  • Sign In
  • Try Now
View all events
Go

Go the Right Way

Published by Pearson

Intermediate content levelIntermediate

Learn Go Programming Language Skills with Real-World Live Demos and Code

  • Explore core concepts and best practices to quickly start programming with Go
  • Learn through real-world live demos and code examples
  • Get answers to your questions supported with live whiteboard diagrams

The Go programming language (also called Golang) mixes tools for low-level efficiency with modern approaches to correctness and platform portability. Go is quickly becoming the key language to learn. Go the Right Way introduces the major concepts and syntax of this exciting language and is designed to get you writing useful Go programs quickly and effectively.

You'll learn how to build a Go program using the command line tools, find your way around both the simple and more complex built-in data types, create your own types, and define functions for interacting with them. Go's basic control structures are familiar, but most of them add interesting newer features that are likely to be more surprising. This course both introduces those features and shows you how to use them. Programmers meeting Go for the first time quickly discover that it has somewhat unusual approaches to error handling and concurrency, and these too are introduced along with explanations to help you understand how and why to use these features.

What you’ll learn and how you can apply it

By the end of the live online course, you’ll understand:

  • Core syntax features of the Go programming language and how to use them wisely
  • Data structures, both built-in and programmer-defined, and Go's approach to memory efficiency
  • Go's approach to object-orientation and error handling
  • An overview of how Goroutines and Channels simplify concurrency

And you’ll be able to:

  • Write, compile, and execute real programs in Go
  • Use built-in data types and operators
  • Define your own data types and describe Go's object-oriented model
  • Use packages
  • Create functions with simple or multiple return values
  • Report and handle errors
  • Understand and use pointers
  • Understand and use interfaces for "substitutability"
  • Create simple concurrent programs using Goroutines and Channels

This live event is for you because...

  • You're an intermediate or advanced programmer using other languages and want to broaden your skillset
  • You'd like to understand the unique concepts that make the Go programming language unique and increasingly popular
  • Your colleagues are talking about Go and you want to join in the conversation
  • You prefer an interactive learning style that encourages your questions and demonstrates with live coding

Prerequisites

  • Programming skills in another language
  • A basic understanding of object-oriented principles would be helpful but is not essential

Recommended Follow-up

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Segment 1: Getting Going (15 minutes)

  • "Hello World" and the program entry point
  • Compiling and running with Go's toolkit
  • Importing and using packages
  • Q&A (5 minutes)

Segment 2: Basic Data Types and Operators (20 minutes)

  • Integer, floating point, boolean, and string types
  • Literals, variables, and constants
  • Variable declaration and initialization formats
  • Scope
  • Data conversions
  • Q&A (5 minutes)

Segment 3: Simple Function Declaration and Invocation (15 minutes)

  • Argument list
  • Return list
  • Error reporting
  • Tuple assignment
  • Q&A (5 minutes)
  • Break (10 minutes)

Segment 4: More Data Types (25 minutes)

  • Pointers
  • Arrays and slices
  • Structs
  • The type keyword
  • Q&A (5 minutes)

Segment 5: Flow Control (25 minutes)

  • Looping with four forms of for
  • Simple conditions with if/else
  • The switch structure
  • Conditions on type
  • Q&A (5 minutes)
  • Break (10 minutes)

Segment 6: More about Functions (25 minutes)

  • Variable length argument lists
  • Anonymous functions
  • Declaring and using interfaces
  • Declaring a function with a receiver parameter
  • Function invocation in subject.verb(object) form
  • Q&A (5 minutes)

Segment 7: Panic and Recovery (15 minutes)

  • Philosophy of panic
  • Issuing a panic
  • Using defer
  • Using recover
  • Q&A (5 minutes)
  • Break (10 minutes)

Segment 8: Introduction to Concurrency in Go (20 minutes)

  • Goroutines
  • Channels
  • Q&A (10 minutes)

Your Instructor

  • Simon Roberts

    Simon Roberts philosophy in training is "understanding is greater than knowledge" meaning simply that although learning facts might be helpful, they can often be looked up. By contrast, it's understanding that allows us to make effective use of those facts, and to extrapolate to new puzzles. Simon is also an FAA certificated flight instructor for Airplane Single Engine and Instrument Airplane, and an avid sailor. He loves to travel and practice speaking French.

    linkedinXlinksearch