Hello and welcome to learning go Data Structures and Algorithms caused by published.
My name is hotel chain and I'm a banking programmer and system engineer.
I've been working in the industry for more than 50 years working with a wide diversity of languages
including C python erlang and lately go which I used to write most of my services also.
I'm an active open source developer and you can check out my projects and contribution in my get hub
account did have dot com slash DCH a NCL this course is aimed at people with little or no experience
with the language you will learn from the very basic to building a small distributed search engine
it is organized in four sections.
The first one hello world.
Start with an introduction to the language and why go.
It is a great choice.
We will start the course by installing all the required tooling.
And finally you will be able to write your first program in Section 2 will cover the language basics.
We start with variable and elementary types which are the place where we store information.
Control structures which are the rule for our program to operate.
Then we will learn how to the clear and call functions.
We will continue with go array slices and maps which are data structures built in the language to store
collections of data.
Finally in Section 2 we will learn how to define our structures and method receivers and finally how
to deal with errors.
Section 3 is the core of this course we will learn and implement five fundamental data structures.
Single and double lists Stacks Queues trees and grass.
Even though these are complex data abstractions which are not part of the language we will write some
of these implementations using goals specific types namely arrays and channels finally in Section 4.
We will make use all of what we learned during this curse in order to exploit one of the most important
features on the goal language concurrency we will explore channels the mechanism go provide to communicate
different process as well as concurrency models like Fannin in out and work pools.
This will help of us feel comfortable making use of channels and things and reason in a synchronous
way which is core to build concurrent programs to finish our journey.
We will write a small distributed search engine where we make use of all what we have learned during
this curse.
So if you're ready to start writing powerful back in service with a high focus on efficiency and concurrency
let us get started with go programming.