Skip to main content
CF

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

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

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

Related courses

Frequently asked questions

What prerequisites are needed before enrolling in this Go programming course?
Before enrolling in this Go programming course, it is beneficial to have a basic understanding of programming concepts and experience with another programming language. Familiarity with command-line tools and environment configuration can also be useful, as the course includes lessons on configuring path variables and using the terminal across different operating systems.
What will I be able to build after completing this course?
After completing the course, you will be equipped to create simple, efficient programs in Go, starting from basics like 'Hello World' to more complex structures involving packages, variables, and pointers. The course covers practical usage of Go commands and testing, enabling you to develop robust applications with a focus on networked and concurrent operations.
Who is the target audience for this Go programming course?
This course is ideal for software developers and computer science students who wish to learn a modern programming language designed for efficiency and simplicity. It will also benefit those interested in networked and concurrent programming, and those who want to leverage Google's language for modern computing needs.
How does the depth of this course compare to other programming courses?
The course offers a comprehensive introduction to the Go programming language, focusing on its key features like efficiency and simplicity. With 132 lessons, it covers fundamental aspects including environment setup, Go commands, and memory management. However, it may not delve as deeply into advanced topics as specialized courses in network programming or concurrency.
What specific tools and platforms are utilized in this course?
The course uses a variety of tools and platforms to teach Go programming, including Webstorm and Atom.io for creating projects. It also involves practical exercises with GitHub for version control and covers environment setup across different operating systems, such as Windows, Mac, and Linux.
What topics are not covered in this Go programming course?
While the course provides a solid foundation in Go programming, it does not cover advanced topics such as in-depth concurrency patterns, Go routines, or detailed network programming. Additionally, it does not focus on specific frameworks or libraries that may be used in more specialized Go development projects.
How much time should I commit to completing this course?
The course consists of 132 lessons, which suggests a significant time commitment to thoroughly understand and practice the material. While the total runtime is not specified, learners should plan to invest several weeks if studying part-time, to effectively absorb the content and complete associated exercises.