Go is an amazing programming language that was created by the same guys who gave the world C (C), unix and utf-8 - some of the most influential contributions to the world of computer science. Go is an open source programming language that makes it easy to build a simple, reliable, and efficient program. The language was developed by probably one of the best, if not the best, technologically advanced company - Google. Go's capabilities are unmatched. But why did Google create a new language?
Golang (Google go)
17h 57m 50s
English
Paid
According to Google, Go was born out of frustration with its very wide choice of languages and development environments. It was necessary to choose a language that: either compiled efficiently, executed efficiently, or simply easy to program. All three of these needs were not available in any one performance. Go is an effort to combine programming simplicity. It also strives to be modern, with support for networked and multi-core computing. Finally, working with Google go is designed to be fast: it should take no more than a few seconds to build a large executable.
About the Author: udemy
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.
Watch Online 132 lessons
0:00
/ #1: Valuable resources
All Course Lessons (132)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Valuable resources Demo | 07:24 | |
| 2 | Why choose the Go programming language | 12:15 | |
| 3 | Hello World | 09:37 | |
| 4 | Section overview | 03:12 | |
| 5 | The terminal | 06:13 | |
| 6 | Installation insights | 08:48 | |
| 7 | Go workspace | 08:48 | |
| 8 | Environment variables | 06:51 | |
| 9 | Windows - configuring path variables | 08:01 | |
| 10 | Mac - configuring path variables | 10:23 | |
| 11 | Linux - machine setup | 33:39 | |
| 12 | Linux - machine configuration | 12:43 | |
| 13 | Linux - configuring path variables | 21:41 | |
| 14 | Testing your installation | 04:32 | |
| 15 | Section review | 04:04 | |
| 16 | Section overview | 01:51 | |
| 17 | Go editors | 09:07 | |
| 18 | Webstorm atom.io | 06:34 | |
| 19 | Creating your first project | 09:03 | |
| 20 | Hello World with webstorm | 08:14 | |
| 21 | The go command documentation | 05:47 | |
| 22 | Understanding github | 07:37 | |
| 23 | Using github | 14:23 | |
| 24 | Section review | 03:40 | |
| 25 | Section overview | 02:03 | |
| 26 | How computers work - part 1 | 09:56 | |
| 27 | How computers work - part 2 | 12:29 | |
| 28 | Github update command | 08:55 | |
| 29 | Numeral systems | 04:07 | |
| 30 | Binary numbering system | 07:40 | |
| 31 | Hexadecimal numbering system | 07:08 | |
| 32 | Text encoding | 09:25 | |
| 33 | Coding scheme programs | 09:33 | |
| 34 | Format printing | 09:46 | |
| 35 | Format printing | 09:16 | |
| 36 | Section review | 05:50 | |
| 37 | Section overview | 07:54 | |
| 38 | Packages | 05:46 | |
| 39 | Go commands | 08:45 | |
| 40 | Variables | 07:50 | |
| 41 | Scope | 10:08 | |
| 42 | Scope 2 | 11:14 | |
| 43 | Closure | 10:03 | |
| 44 | Language specification | 04:25 | |
| 45 | Blank identifier | 09:02 | |
| 46 | Constants | 07:21 | |
| 47 | Constants 2 | 03:59 | |
| 48 | Words of encouragement | 06:41 | |
| 49 | Memory addresses | 06:19 | |
| 50 | Pointers | 07:45 | |
| 51 | Using pointers | 05:46 | |
| 52 | Remainder | 15:03 | |
| 53 | Section review | 07:04 | |
| 54 | Section overview | 06:53 | |
| 55 | For loop | 06:23 | |
| 56 | Nested loops | 07:23 | |
| 57 | Condition, break, continue | 13:01 | |
| 58 | Documentation terminology | 06:23 | |
| 59 | Rune | 10:40 | |
| 60 | String type | 07:27 | |
| 61 | Switch statements | 07:08 | |
| 62 | If statements | 14:01 | |
| 63 | Exercise solutions | 08:41 | |
| 64 | Section review | 01:51 | |
| 65 | Section overview | 07:48 | |
| 66 | Intro to functions | 05:27 | |
| 67 | Func returns | 06:49 | |
| 68 | Variadic functions | 05:07 | |
| 69 | Variadic arguments | 05:41 | |
| 70 | Func expressions | 06:04 | |
| 71 | Closure | 06:49 | |
| 72 | Callbacks | 05:34 | |
| 73 | Callbacks example | 05:04 | |
| 74 | Recursion | 04:20 | |
| 75 | Defer | 06:41 | |
| 76 | Pass by value | 05:06 | |
| 77 | Reference types | 01:39 | |
| 78 | Anonymousself-executing functions | 07:23 | |
| 79 | Bool expressions | 07:46 | |
| 80 | Exercises - part 1 | 06:40 | |
| 81 | Exercises - part 2 | 07:50 | |
| 82 | Exercises - part 3 | 07:50 | |
| 83 | Section review | 06:07 | |
| 84 | Data structure overview | 08:28 | |
| 85 | Array | 10:45 | |
| 86 | Array examples | 10:04 | |
| 87 | Slices | 09:38 | |
| 88 | Slice examples | 06:33 | |
| 89 | More slice examples | 12:43 | |
| 90 | Creating a slice | 05:16 | |
| 91 | Incrementing a slice item | 12:29 | |
| 92 | Section review | 06:18 | |
| 93 | Maps introduction | 08:30 | |
| 94 | Map examples - part 1 | 08:46 | |
| 95 | Map examples - part 2 | 05:08 | |
| 96 | Map examples - part 3 | 10:43 | |
| 97 | Map documentation | 03:43 | |
| 98 | Map range loop | 04:08 | |
| 99 | Github pull | 13:52 | |
| 100 | Hash tables | 10:57 | |
| 101 | Hashing words | 12:05 | |
| 102 | Hashing words 2 | 09:13 | |
| 103 | Build a hash table | 11:41 | |
| 104 | Finished hash algorithm | 06:14 | |
| 105 | Structs introduction | 11:37 | |
| 106 | OOP in Go | 10:46 | |
| 107 | User-defined types | 10:28 | |
| 108 | Composition | 11:40 | |
| 109 | JSON marshal | 03:13 | |
| 110 | JSON unmarshal | 06:41 | |
| 111 | JSON encode | 05:35 | |
| 112 | JSON decode | 03:19 | |
| 113 | Interfaces introduction | 10:24 | |
| 114 | Interface examples | 12:26 | |
| 115 | Code substitutability | 08:31 | |
| 116 | Bill Kennedy | 11:54 | |
| 117 | Donovan Kernighan | 10:27 | |
| 118 | Sort package | 09:40 | |
| 119 | Sort reverse | 15:55 | |
| 120 | Sort slice int. | 03:35 | |
| 121 | Empty interface | 08:56 | |
| 122 | Method sets | 11:39 | |
| 123 | Conversion vs assertion | 10:21 | |
| 124 | Concurrency waitgroup | 05:10 | |
| 125 | Parallelism | 04:41 | |
| 126 | Race conditions | 04:09 | |
| 127 | Mutex | 03:46 | |
| 128 | Atomicity | 03:58 | |
| 129 | Channels | 10:41 | |
| 130 | Troubleshooting race conditions | 07:53 | |
| 131 | Additional resources | 04:53 | |
| 132 | Next steps | 07:02 |
Unlock unlimited learning
Get instant access to all 131 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscription