Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Mastering Go: From Beginner to Expert
Rating: 4.3 out of 5(23 ratings)
1,103 students

Mastering Go: From Beginner to Expert

Unlock the Power of Go: A Journey from Beginner to Expert in Building High-Performance Applications
Last updated 5/2023
English

What you'll learn

  • Understand the fundamentals of the Go programming language: Learners will gain a solid understanding of the core concepts, syntax, and features of the Go
  • Develop scalable and efficient applications with Go: Learners will learn how to leverage Go's features to build high-performance and scalable applications
  • Build robust web applications and APIs using Go: Learners will gain hands-on experience in developing web applications and APIs using Go.
  • By the end of the course, learners will have the skills and knowledge to confidently develop robust and efficient applications using Go

Course content

10 sections29 lectures3h 40m total length
  • Introduction & Course Overview2:02

    Introduction to Go and Basic Syntax

    • Introduction to Go and its benefits

    • Basic syntax and data types

    • Variables and constants

    • Control flow: if/else, for, and switch statements

    • Functions and function signatures

    Arrays, Slices, and Maps

    • Arrays and slices

    • Maps and their uses

    • Using arrays, slices, and maps in real-world examples

    Pointers and Structs

    • Pointers and memory management

    • Structs and their uses

    Concurrency and Go Routines

    • Introduction to concurrency in Go

    • Go routines and channels

    • Using Go routines and channels to create concurrent applications

    Web Development with Go

    • Introduction to web development with Go

    • Building web servers and handling HTTP requests

    • Creating RESTful web services

    Testing in Go

    • Overview of testing in Go

    • Writing unit tests

    • Using the testing package

    • Best practices for testing Go code

    Advanced Go Features

    • Interfaces and their uses

    • Embedding types

    • Advanced concurrency patterns

    • Error handling in Go

    Project work

    • Final project or capstone that allows learners to apply their newfound knowledge to build a complete application.

    • Implementing the tests for the final project

    Review and wrap up

    • Review of material covered

    • Next steps for continuing to learn and improve their Go skills

  • Build environment setup5:30

    Installation Setup - Windows

    Go to https://go.dev/doc/install

    1. Download the MSI file

    2. Open the MSI file you downloaded and follow the prompts to install Go.

    The installer will install Go to Program Files or Program Files (x86) by default. You can change the location as needed. After installing, you will need to close and reopen any open command prompts so that changes to the environment made by the installer are reflected in the command prompt.

    3. Verify that you've installed Go.

    •In Windows, click the Start menu.

    •In the menu's search box, type cmd, then press the Enter Enter

    •In the Command Prompt window that appears, type the following command:

    $ go version

    •Confirm that the command prints the installed version of Go.


    Installation Setup - Mac

    Go to https://go.dev/doc/install

    1. Download the package file

    2. Open the package file you downloaded and follow the prompts to install Go.

    The package installs the Go distribution to /usr/local/go. The package should put the /usr/local/go/bin directory in your PATH environment variable. You may need to restart any open Terminal sessions for the change to take effect.

    3. Verify that you've installed Go by opening a command prompt and typing the following command:

    $ go version

    4. Confirm that the command prints the installed version of Go.


    Installation Setup - Linux

    Go to https://go.dev/doc/install

    1. Download the package file

    2. Remove any previous Go installation by deleting the /usr/local/go folder (if it exists), then extract the archive you just downloaded into /usr/local, creating a fresh Go tree in /usr/local/go:

    $ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz

    (You may need to run the command as root or through sudo).

    Do not untar the archive into an existing /usr/local/go tree. This is known to produce broken Go installations.

    3. Add /usr/local/go/bin to the PATH environment variable.

    You can do this by adding the following line to your $HOME/.profile or /etc/profile (for a system-wide installation):

    export PATH=$PATH:/usr/local/go/bin

    Note: Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, just run the shell commands directly or execute them from the profile using a command such as source $HOME/.profile.

    4. Verify that you've installed Go by opening a command prompt and typing the following command:

    $ go version

    5. Confirm that the command prints the installed version of Go.

Requirements

  • Basic programming knowledge on tech stack could be useful (C++/JAVA) etc..

Description

"Mastering Go: From Beginner to Advanced" is a comprehensive course designed to take you on a journey from a beginner to an advanced Go developer. Whether you are new to programming or have experience in other languages, this course will equip you with the knowledge and skills needed to become proficient in Go and build robust applications.


Introduction to Go and Basic Syntax

Introduction to Go and its benefits

  • Basic syntax and data types

  • Variables and constants

  • Control flow: if/else, for, and switch statements

  • Functions and function signatures

Arrays, Slices, and Maps

  • Arrays and slices

  • Maps and their uses

  • Using arrays, slices, and maps in real-world examples

Pointers and Structs

  • Pointers and memory management

  • Structs and their uses

Concurrency and Go Routines

  • Introduction to concurrency in Go

  • Go routines and channels

  • Using Go routines and channels to create concurrent applications

Web Development with Go

  • Introduction to web development with Go

  • Building web servers and handling HTTP requests

  • Creating RESTful web services

Testing in Go

Overview of testing in Go

  • Writing unit tests

  • Using the testing package

  • Best practices for testing Go code

Advanced Go Features

  • Interfaces and their uses

  • Embedding types

  • Advanced concurrency patterns

  • Error handling in Go

Project work

  • Final project or capstone that allows learners to apply their newfound knowledge to build a complete application.

  • Implementing the tests for the final project

Review and wrap up

  • Review of material covered

  • Next steps for continuing to learn and improve their Go skills


Who this course is for:

  • This course is designed for beginner and intermediate programmers who are interested in learning the Go programming language (Golang) or expanding their existing knowledge of Go. It is suitable for individuals with a background in programming who want to explore Go's