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