Skip to main content

Golang (Google go)

17h 57m 50s
English
Paid

Go is an amazing programming language created by the same visionaries behind C, Unix, and UTF-8—some of the most influential contributions in computer science. Go is an open-source language designed to make building simple, reliable, and efficient programs a breeze. Developed by Google, one of the most technologically advanced companies, Go’s capabilities are truly remarkable. But why exactly did Google decide to create a new language?

Origins of Google Go

According to Google, Go emerged from frustration with a wide array of programming languages and development environments. There was a need for a language that could either compile efficiently, execute efficiently, or be easy to use—all combined in one package. Go represents an effort to merge programming simplicity with modern capabilities, including support for networked and multi-core computing. Moreover, working with Google Go is designed for speed; compiling a large executable should take only a few seconds.

Key Features of Go

Google created Go to address specific needs identified during its development process. Here are some highlights:

  • Efficiency: Go compiles and executes efficiently, enabling fast development cycles and program execution.
  • Simplicity: With clean syntax and a focus on simplicity, Go makes it easy for developers to write robust programs.
  • Modernity: Designed to meet modern computing needs, Go supports networked and concurrent operations effectively.
  • Speed: The language is optimized for quick compilation and large executable builds, enhancing developer productivity.

Conclusion

Google Go is a testament to the need for a programming language that balances efficiency, simplicity, and modernity. By harnessing the power of Go, developers can build reliable and robust software with ease, keeping up with the demands of modern computing.

About the Author: udemy

udemy thumbnail
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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 132 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Valuable resources
All Course Lessons (132)
#Lesson TitleDurationAccess
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