Go Fundamentals

Learn Go and build concurrent, idiomatic programs.

Duration 3h 26m Rating (4.6) Price Included with subscription on Pluralsight
Created by Nigel Poulton
Last updated 2022-12-16
Platform: Pluralsight Topic: Programming Languages Skills: Go Goroutines

This beginner-focused course introduces Go programming with practical, example-led lessons that guide learners from basic syntax to key language constructs such as functions, slices, maps, and structs.

Taught by Nigel Poulton, the course also covers concurrency fundamentals using goroutines and emphasizes hands-on coding with instructor examples and a companion GitHub repo, making it a concise, practical primer for building small, concurrent Go programs.

At a Glance

Go Fundamentals is a beginner-focused course that teaches programming in the Go language, covering core syntax, data types, custom types, and an introduction to concurrent programming with goroutines.

The course is taught by Nigel Poulton and emphasizes practical, example-driven lessons that get learners writing small Go programs and familiar with the language’s major features.

Level Beginner
Rating 4.6 out of 5
Duration 3+ hours
Languages English
Certificate Certificate of completion
Access Access while your Pluralsight subscription is active
Course includes
  • Video lessons
  • Downloadable code / GitHub repo
  • Transcripts / closed captions
Price Subscription-based; included with Pluralsight monthly or annual plans

What This Course Teaches

This course frames outcomes as concrete, demonstrable programming competencies in Go focused on writing idiomatic code, handling core data structures, and applying simple concurrent patterns.

Learners will be able to implement control flow and functions, manipulate slices, maps, and structs, and use goroutines to build basic concurrent programs.

Hello World
Build a basic Go program and run it locally.
Conditionals & Flow
Apply decision-making using if/else and switch constructs to control program flow.
Functions
Implement functions with parameters and return values to structure and reuse code.
Variables & Data
Explain and use Go’s variable declarations and basic types for data handling.
Slices & Maps
Manipulate slices and maps to store, iterate over, and transform collections of data.
Structs & Types
Define custom data types with structs and use them to model structured data.
Concurrency with Goroutines
Implement basic concurrency using goroutines and apply simple coordination patterns.

How the Course Is Structured

The course is organized as a sequence of short, focused modules that together run about 3 hours and 26 minutes and are presented as a set of concise video lessons and demos across 12 sections.

Modules are topic-sized and sequential, letting learners move from orientation through core language features to an introductory treatment of concurrency.

Curriculum overview

01Course Overview1m 42s

Orientation to the course goals, format, and what learners should expect to achieve.

02Course Introduction1m 12s

Instructor-led introduction describing the course approach and prerequisites.

03Course Agenda2m 35s

A brief walkthrough of topics and the pacing learners can expect across the modules.

04About Me and About the GitHub Repo1m 36s

Background on the instructor and pointers to the course code and resources hosted on GitHub.

05Hello World

Walks through creating, compiling, and running a minimal Go program to establish the development workflow.

06Decision-making & Conditionals

Covers if/else and switch constructs for controlling program flow.

07Functions

Introduces function syntax, parameters, return values, and how to structure reusable code.

08Variables and Data

Discusses variable declaration styles and basic built-in types used to store program data.

09Slices & Maps

Demonstrates collection types, including creating, indexing, and iterating over slices and maps.

10Structs & Custom Types

Shows how to define structs to model complex data and create custom types for clearer code.

11Goroutines & Concurrency

Introduces goroutines and simple concurrency patterns to run code concurrently and coordinate tasks.

12Wrap-up & Next Steps

Final reflections, suggestions for further learning, and pointers to additional resources.

Audience & Requirements

This course is aimed at complete beginners who want to learn programming using the Go language, and it is also appropriate for developers familiar with other languages seeking a concise, practical introduction to Go’s core features. Typical learners are those who want to write and run small Go programs and quickly apply Go to personal projects or to expand their technical toolkit.

Who It’s For
  • Complete beginners wanting a first programming course with Go.
  • Programmers from other languages seeking a quick, practical Go primer.
  • Engineers exploring Go for lightweight backend tools or scripting tasks.
What You’ll Need
  • No prior programming experience required — the course starts from the ground up.
  • Go toolchain installed locally (Go compiler/runtime) to compile and run examples.
  • A code editor (Visual Studio Code or similar) for editing course code.
  • Ability to clone or download the course GitHub repository (Git recommended).

Final Verdict

Go Fundamentals is a practical, well-paced introduction to the Go language that delivers clear, example-driven lessons suitable for beginners and for programmers who want a quick, usable primer.

Given its strong platform rating, inclusion with a subscription, and a certificate of completion, it represents good value for learners seeking structured video instruction and instructor-provided code resources.

Choose this course if your goal is to acquire working familiarity with Go quickly and with minimal setup; it is not positioned as a deep, production-grade treatment of advanced concurrency or large-system design.

If you require extensive, project-based experience or a formal hiring credential, treat this as an efficient first step and follow it with more advanced, hands-on Go courses.