Topics - 6   Lectures - 29
  • Introduction
    • Introduction to Go Programming language

      Go is widely used in Cloud and DevOps space, CLIs and Web Development. After completing this series, you will learn everything that is needed to get started with Go.

    • Install Go and Required VS Code Extension

      In this session we will install Go compiler and required VS Code extension to speed up the development. We will also write our first Go Program that displays “Hello World” to console.

    • Program to Reverse a String in GO

      In this session we will write a program that will reverse the string and display the original and reversed string to the terminal.

  • Basics
    • Variable and Datatype

      In this session we will undertand Datatypes and variables in Go programming language 
       

    • Arithmetic Operations

      In this session we will see how to perform Arithmetic Operations in GO

    • What are Array and Slices

      In this session we will understand Array and Slices in GO.

    • Deep dive into Slice

      In this session we will understand slices in more detail. Slices are very powerful and most of the time slices are used much frequently over arrays.

    • Data Structure - Maps

      In this session we will understand Map in Go. Maps are unordered data structure that stores data in key:value pair.

    • Data Structure - Struct

      In this session we will understand Struct in Go. Struct is used to create a collection of fields of same or different datatype into a single variable.

    • Data Structure - Pointers

      In this session we will understand Pointers in Go. Pointers are used to access memory address of a value.

  • Control Flow
    • Control Flow - If ... Else Statements

      Conditional statements are used to determine the flow of code execution based on certain condition. We will see 

      • If Statements 
      • If Else Statements 
      • Short If Statements
    • Control Flow - Switch Statements

      Conditional statements are used to determine the flow of code execution. In this session we will understand Switch Statements in Go

    • Control Flow - For Loop

      Go provides only one loop - for loop. Loop is used to repeat some operation again and again. Loop and Conditional statements are building block to write complex business logic.

    • Control Flow - Range

      Range keyword is used to iterate through elements of array, slice, map, string or channel. In this session we will understand how to use Range keyword in Go.

  • Functions
    • Functions, Variadic Function, Anonymous Function

      In this session we will understand Functions in Go. We will learn 

      • Basic Function 
      • Function with Multiple Return values 
      • Function with parameters passed as reference 
      • Variadic Function 
      • Anonymous Function
    • Anonymous Functions

      In this session we will understand more about Anonymous Functions in Go. We will understand how Anonymous Functions are so handy and easy working with Go Routines.

    • Struct Functions

      Struct Functions are very powerful concept. Using Struct functions we can describe the behaviour of the Struct. In this session we will understand how we can attach a function to a struct in Go.

  • Advanced Concepts
    • Modules and Packages

      A Go application may consists of multiple local or external packages. Using Go Modules we can keep track of dependencies in our application. 

      Packages are used to group related features of the application together so that our application structure could be more modular and maintainable.

    • Variable Scope

      A variable scope is defined as the piece of code where the variable can be accessed. Variable scope can also be thought of as the lifetime of the variable. As per the design principle we should create variables as much local as possible. 

      In this session we will learn about  …

    • Deep Dive into Packages

      Packages are used to group related features of the application together so that our application structure could be more modular and maintainable. 

      In this session 

      • We will see how to separate business logic in multiple files. 
      • We will also see about variables with package level scope. 
         
    • Interfaces

      Interface defines a collection of functions with function signature without the function body. 

      Unlike other object oriented programming language, there is no explicit implements keyword in Go. Go provides implicit implementation of interfaces.

    • Implement Multiple Interfaces

      In this session we will understand how we can implement multiple interfaces in Go. Interface defines a collection of functions with function signature without the function body. Unlike other object oriented programming language, there is no explicit implements keyword in Go.

    • Interface Type

      The interface{} type or empty interface is an interface having no methods. Since Go provides implicit implementation of interfaces, every type implicitly implements the empty interface. 

      In this session we will understand about interface{} type in Go.

    • Type Assertions

      In this session we will understand about Type Assertions and Type Switch in Go.

      In Go we can get the underlying concrete data type of an interface using Type Assertions. In Go we can also test whether the Assertion is successful. Go returns a boolean to represent the Assertion.

    • Concurrency with Goroutines

      In Go Concurrency is achieved using Goroutines. Goroutines can be considered as super lightweight thread that run independently. 

      In Go every program begins execution from the main function and the main function itself is a goroutine.

  • Project
    • CLI application for billing and invoice generation

      Get started to code real world Golang project by building simple CLI application

      To strengthen our Golang learning, we are going to write a simple CLI application for billing and invoice generation. The application will ask the user to provide the product name, unit price and quantity to be purchased.  …

    • Encapsulate business logic

      Get started to code real world Golang project by building simple CLI application

      In this session we are going to refactor our Billing and Invoice Generation CLI application. 

      We will use struct to store product information and will encapsulate the add product information in struct method.

    • Add Multiple Products per Invoice

      Let's add functionality to generate invoice with multiple products per invoice. 

      Add Product logic runs in infinite loop until user presses ‘q’ to exit, which then generates and displays the invoice.

    • Save Invoice in File

      In this session we will create Invoice and save the invoice in the file system. 

      Once we save the invoice in the file system, we can share the invoice with the customer, can email the invoice to the customer or can print the invoice.

This course is designed with comprehensive learning resources for the students to learn Go from basic to intermediate level of understanding.

This course is ideal for Beginners and Experienced GO developers. Even if you don't know Go, with this course you can start your next project on Go with ease.

Prerequisite

Basic understanding of programming concepts.

Course Outline

  • Introduction of Golang Programming Language
  • Data Structure and Pointer
  • Language Specification
  • Concurrency with Go Routines
  • CLI Application Programming 
  • Advanced concepts 
  • Complex Data structure 
  • Interfaces to simplify complex business logic.
Neeraj Avinash
  • 4.4 Tutor Rating
  • 6 Courses
  • 6 Students

Full stack Software professional with 18+ years of experience. Having wide exposure to web development for various industries including hospital, domain and hosting, e-learning. Expertise on various technologies PHP, Python, Golang, MySql and PostgreSql, React JS and React Native

Course Overview

  • Level - Beginner
  • Topics - 6  Lectures - 29
  • 2 Already Enrolled
  • Be the First One to Review
  • English
  • Lifetime Access
  • 3,000.00 3,100.00