• Post category:StudyBullet-3
  • Reading time:29 mins read


The Ultimate Comprehensive Course – Perfect for Both Beginners and Experienced Developers

What you will learn

The ultimate comprehensive course

For beginners and experienced devs

Taught by a university professor

From beginning to advanced concepts

Concurrency, channels, benchmarking

Testing, error handling, documentation

Hands-on exercises with solutions

Access to valuable code base

This course is tried, tested, and proven

Over 2.65 Million students taught

Lifetime course access

Learn at your own pace

100% satisfaction guaranteed

Description

This course is the ultimate comprehensive resource for learning the Go Programming Language.

This course is perfect for both beginners and experienced developers. The course is full of examples, hands-on exercises, solutions to the hands-on exercises, and an amazing code repository.

This course is taught by one of the world’s leading Go Programming Trainers, Todd McLeod. Todd was the first university professor in America to teach Go at the university level. Todd has taught over 1.65 Million students how to use the Go Programming Language. This course is tried, tested, and proven to train beginners and experienced developers how to use Go.

This course has a tremendous amount of content and resources so that you can learn everything you need to know – whatever is appropriate for your ability level.

When you enroll in this course, you will have lifetime access to the course. You will be able to learn at your own pace. You will always be able to come back to the content to review it, or learn additional concepts when you are ready for them.

This course also comes with a 100% Satisfaction Money Back Guarantee.

I know that this is absolutely the best course in the entire world for learning the Go Programming Language.

I know that you are going to be completely satisfied with the course.

And, if for any reason the course does not work for you, then within the first 14 days, you can receive a full refund.

So enroll now!

You will get great value from this course and, more importantly, you will have a great time learning the greatest programming language every made – The Go Programming Language – The fastest growing, highest paying programming language in America.


Get Instant Notification of New Courses on our Telegram channel.


Join me on this incredible journey. Sign-up Today.

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

Go is an amazing choice for a language as it was developed by some of the same individuals who created the C programming language, Unix, and UTF-8 – some of the most influential contributions to computer science. Robert Griesemer, Rob Pike, and Ken Thompson created Go to be a modern language that easily uses multiple cores, easily implements concurrency, easily works in distributed environments, and easily allows the programmer to write programs – it has a very lean and user-friendly syntax.

Go was created by luminaries in computer science at one of the best, if not the very best, software engineering firm to have ever existed – Google.

The credentials of Go are unsurpassed.

But why did Google create a new language?

In Google’s words, “Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing. Finally, working with Go is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.”

In my opinion, Go is the best programming language that you can be learning today. I began programming in 1982 with BASIC, I have worked with many languages, and Go is the best language which I have ever used. Go is also the top-paid programming language in America today.

Come learn about the greatest programming language ever created. You will leave with resources and code samples to start making all of your software and apps really go.

English
language

Content

Introduction
Valuable Resources
Why go?
How to succeed
Course Overview
Course resources
Documentation
Accelerate learning
Your development environment
The terminal
Bash on windows
Shell / bash commands I
Shell / bash commands II
Installing Go
Go modules – introduction
Go workspace
Environment variables
IDE’s
Go commands
Github repos
Github explored
Package management
Go modules overview
Creating a go module
Adding a dependency
Upgrading dependencies
Variables, values, & type
Playground
Hello world
Introduction to packages
Short declaration operator
The var keyword
Exploring type
Zero value
The fmt package
Creating your own type
Conversion, not casting
Exercises – Ninja Level 1
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Programming fundamentals
Bool type
How computers work
Numeric types
String type
Numeral systems
Constants
Iota
Bit shifting
Exercises – Ninja Level 2
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Hands-on exercise #7
Control flow
Understanding control flow
Loop – init, condition, post
Loop – nesting loops
Loop – for statement
Loop – break & continue
Loop – printing ascii
Conditional – if statement
Conditional – if, else if, else
Loop, conditional, modulus
Conditional – switch statement
Conditional – switch statement documentation
Conditional logic operators
Exercises – Ninja Level 3
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Hands-on exercise #7
Hands-on exercise #8
Hands-on exercise #9
Hands-on exercise #10
Grouping data
Array
Slice – composite literal
Slice – for range
Slice – slicing a slice
Slice – append to a slice
Slice – deleting from a slice
Slice – make
Slice – multi-dimensional slice
Map – introduction
Map – add element & range
Map – delete
Exercises – Ninja Level 4
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Hands-on exercise #7
Hands-on exercise #8
Hands-on exercise #9
Hands-on exercise #10
Structs
Struct
Embedded structs
Reading documentation
Anonymous structs
Housekeeping
Exercises – Ninja Level 5
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Functions
Syntax
Variadic parameter
Unfurling a slice
Defer
Methods
Interfaces & polymorphism
Anonymous func
func expression
Returning a func
Callback
Closure
Recursion
Exercises – Ninja Level 6
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Hands-on exercise #7
Hands-on exercise #8
Hands-on exercise #9
Hands-on exercise #10
Hands-on exercise #11
Pointers
What are pointers?
When to use pointers
Method sets
Exercises – Ninja Level 7
Hands-on exercise #1
Hands-on exercise #2
Application
JSON documentation
JSON marshal
JSON unmarshal
Writer interface
Sort
Sort custom
bcrypt
Exercises – Ninja Level 8
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Concurrency
Concurrency vs parallelism
WaitGroup
Method sets revisited
Documentation
Race condition
Mutex
Atomic
Exercises – Ninja Level 9
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Hands-on exercise #7
Channels
Understanding channels
Directional channels
Using channels
Range
Select
Comma ok idiom
Fan in
Fan out
Context
Exercises – Ninja Level 10
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Hands-on exercise #6
Hands-on exercise #7
Error handling
Understanding
Checking errors
Printing and logging
Recover
Errors with info
Exercises – Ninja Level 11
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Hands-on exercise #4
Hands-on exercise #5
Writing documentation
Introduction
go doc
godoc
godoc.org
Writing documentation
Exercises – Ninja Level 12
Hands-on exercise #1
Testing & benchmarking
Introduction
Table tests
Example tests
Golint
Benchmark
Coverage
Benchmark examples
Review
Exercises – Ninja Level 13
Hands-on exercise #1
Hands-on exercise #2
Hands-on exercise #3
Farewell
Farewell
BONUS MATERIAL
An Entire Second Course – Provided for Free!
Introduction
Why choose the Go programming language?
Hello World!
Installing Go
Section Overview
The Terminal
Installation Insights
Go Workspace
Environment Variables
Windows – Configuring Path Variables
Mac – Configuring Path Variables
IMPORTANT – REGARDING LINUX VIDEOS THAT FOLLOW
Linux – Machine Setup
Linux – Machine Configuration
Linux – Configuring Path Variables
Testing Your Installation
Section Review
Your Development Environment
Section Overview
Go Editors
WebStorm & Atom.io
Free For Students – WebStorm
Creating Your First Project
Hello World with Webstorm
The Go Command & Documentation
Understanding Github
Using Github
Section Review
Computer Fundamentals
Section Overview
How Computers Work – Part I
How Computers Work – Part II
Github Update Command
Numeral Systems
Binary Numbering System
Hexadecimal Numbering System
Text Encoding
Coding Scheme Programs
Format Printing
Section Review
Language Fundamentals
Section Overview
Packages
Go Commands
Variables
Scope
Scope II
Closure
Language Spec
Blank Identifier
Constants
Constants II
Words of Encouragement
Memory Addresses
Pointers
Using Pointers
Remainder
Section Review
Control Flow
Section Overview
For Loop
Nested Loops
Conditions, Break, & Continue
Documentation & Terminology
Rune
String Type
Switch Statements
If Statements
Exercise Solutions
Section Review
Functions
Section Overview
Intro To Functions
Func Returns
Variadic Functions
Variadic Arguments
Func Expressions
Closure
Callbacks
Callback Example
Recursion
Defer
Pass By Value
Reference Types
Anonymous Self-Executing Functions
Bool Expressions
Exercises – Part I
Exercises – Part II
Exercises – Part III
Section Review
Data Structures – Array
Data Structures Overview
Array
Array Examples
Data Structures – Slice
Slices
Slice Examples
More Slice Examples
Creating A Slice
Incrementing A Slice Item
Section Review
Data Structures – Map
Maps Introduction
Map Examples – Part I
Map Examples – Part II
Map Examples – Part III
Map Documentation
Map Range Loop
GitHub Pull
Hash Tables
Hashing Words
Hashing Words II
Build A Hash Table
Finished Hash Algorithm
Data Structures – Struct
Structs Introduction
OOP in Go
User-Defined Types
Composition
JSON Marshal
JSON Unmarshal
JSON Encode
JSON Decode
Interfaces
Interfaces Introduction
Interface Examples
Code Substitutability
Bill Kennedy
Donovan & Kernighan
Sort Package
Sort Solution
Sort Reverse
Sort Slice Int
Empty Interface
Method Sets
Conversion vs Assertion
Concurrency
Concurrency & WaitGroup
Parallelism
Race Conditions
Mutex
Atomicity
Review & Channels Preview
Channels
Channels – Introduction
Range Clause
N-to-1
Semaphores – Part 1
Semaphores – Part 2
1-to-N
Channels as Arguments & Returns
Channel Direction
Applied Concurrency
Incrementor With Channels
Deadlock Challenge
Factorial Challenge
Pipeline Pattern
Factorial Challenge Redux
Factorial Challenge Redux Solution
Fan Out / Fan In Pattern – Overview
Fan In Pattern
Fan Out / Fan In – Example
Concurrency Challenges
Fan Out / Fan In – Challenge
Fan Out / Fan In – Solution
Fan Out / Fan In – Challenge: Factorial
Fan Out / Fan In – Solution: Factorial
Deadlock Challenge
Deadlock Solution
Incrementor Challenge Revisited
Incrementor Solution
Concurrency Resources
Additional Resources
Links
Error Handling
An Introduction to Error Handling in Go
Improving Your Code with Golint
Handling Errors & Logging Errors to a File
Four Common Ways to Handle Errors
Custom Errors – Creating Values of Type error
Idiomatic Error Handling
Providing Context with Errors
Providing Even More Context with Errors
Error Handling Review & Resources
Farewell
Nice Articles
Next Steps