About this video

Go is a compiled, statically typed language in the tradition of Algol and C, with garbage collection, limited structural typing, memory safety features, and CSP-style concurrent programming features added.

More and more developers are interested in learning Go. It was the language of the year on TIOBE in 2016 and is at the top of the list of languages that developers want to learn next.

This course will teach you how to program in Go, building on your existing knowledge of programming languages. It starts by introducing familiar features before moving on to the more unique features that have earned Go its reputation as the language of the cloud. You will learn how to build a completely functional application server in under two dozen lines of code. Then, you'll master structuring and organizing your code, implementing the procedural control structures of every C-inspired language, and breaking your code into separate functions.

Towards the end of the course, you'll learn how to create your own packages and import them. You'll also explore Go's approach to error handling, Object-Oriented Programming, and concurrency. By the end of the course, you'll be ready to start writing your own Go projects.

Style and Approach

The course starts with an introduction to Go, the background behind why it was created, and what problems it was designed to solve. It then takes you into setting up tooling for Go and gives you your first Go program, a fully-functional server, in less than two dozen lines of code. The rest of the course follows a pattern; a new language feature is discussed and then sample code is used to explain how the feature works. This approach keeps the material practical and gives the students a working reference to understand how Go's features fit together.

Publication date:
June 2018
3 hours 27 minutes

About the Author

  • Jonathan Bodner

    Jon Bodner has spent the past 20 years working in just about every corner of the software industry including on-line commerce, education, finance, government, healthcare, and internet infrastructure. He is a software engineer, lead developer, and architect and enjoys presenting and discussing open source technology trends, and the future of software engineering. Jon is currently a Lead Software Engineer at Capital One where, along with a co-worker, he recently open sourced checks-out, a fork of the LGTM project ( https://github.com/capitalone/checks-out).

    Over the past two years, Jon has given several public talks on Go. At DevFest DC, he gave introductory and advanced talks on Go concurrency. At GopherCon, he introduced Proteus, a declarative, type-safe, runtime-generated DAO layer for Go and, at GothamGo, he spoke on closures and generics in Go.
    Jon has also written a number of posts on Go for Capital One's DevExchange blog ( https://medium.com/capital-one-developers)

    In addition to talking and writing about Go, Jon has also spoken at PyData DC on improving Data Science accuracy via software engineering, took part in a panel on open source in the enterprise at Atlanta Vision Talks, and spoke about Capital One's open source process at the Open Source Leadership Summit and OSCON.

    Browse publications by this author

Latest Reviews

(1 reviews total)
Good choice of topics in quick and understandable way with simple examples.

Recommended For You

Advanced Go Programming in 7 Days [Video]

Amaze yourself by the skills you gain in a week with Golang advanced programming concepts

By Theofanis Despoudis
Mastering Go - Second Edition

Dive deep into the Go language and become an expert Go developer

By Mihalis Tsoukalos
Hands-on Concurrency with Go [Video]

Build better software faster with concurrency in Go

By Leo Tindall
Go Application Development - Tips, Tricks, and Techniques [Video]

Develop powerful and efficient apps with Go. Get proven approaches to improve your application development processes.

By Martin Helmich