Description
As Moore's Law approaches its end of lifecycle, the need for concurrency grows, as does the need for a programming language that enables effective implementation of concurrent programmes. As a result, Go has recently become one of the most popular programming languages. This course is designed to give beginners a thorough introduction to Go. It also articulates how Go differs from traditional programming languages that programmers are accustomed to in order to familiarise programmers who are about to dive into Go with the language.
Syllabus :
1. The Basics
- Variables & inferred typing
- Constants
- Printing
- Packages and Imports
- Code Location
- Exported names
- Functions and Return values
- Pointers
- Mutability
2. Types
- Basic Types
- Type Conversion
- Type Assertion
- Structs
- Initializing
- Composition vs Inheritance
3. Collection Types
- Working with arrays
- Slices in Go
- Range in for loops
- Maps in Go
4. Control flow
- IF Statement
- FOR Loop
- Switch Case Statement
- Exercise on For Loops
5. Methods
- Code Organization
- Type Aliasing
- Method Receivers
6. Interfaces
- Satisfying Interfaces
- Returning Errors
7. Concurrency
- Concurrent Programming
- Goroutines
- Channels
- Channels Through Illustrations
- Buffered vs. Unbuffered Channels as Illustrations
- Range and close
- Select
8. Get Setup
- OSX
- Windows
- Linux
- Extras
9. Online Coding Challenges
- Coding Challenges
10. Tips & Tricks
- Get Your Feet Wet
- Tips for Importing Packages
- Tips on Maps & Errors
- Tips on Compiler Optimization
- Tips on Constants in Go