Skip to navigation
Skip to navigation
Skip to search form
Skip to login form
Skip to footer
Skip to main content
Accessibility options
Accessibility profiles
Visual impairment
Seizure and epileptic
Color vision deficiency
ADHD
Learning
Content adjustments
Readable font
Highlight titles
Highlight links
Stop animations
Text size
+
+ +
+ + +
Line height
+
+ +
+ + +
Text spacing
+
+ +
+ + +
Color adjustments
Dark contrast
Light contrast
High contrast
High saturation
Low saturation
Monochrome
Orientation adjustments
Reading guide
Reading Mask
Big black cursor
Big white cursor
Email: it@huph.edu.vn
Email: it@huph.edu.vn
Các khóa học
Đổi giao diện
Giao diện cũ
Giao diện mới
Learning AI
Machine Learning cơ bản
en
English
Technology
Programing Language
Learn How To Code Googles Go (golang) Programming Language
0 students
Last updated
Jan 2025
Enrol now
Overview
Course content
Instructors
About the course
Show more...
Course content
Sections:
43
•
Activities:
0
•
Resources:
293
Expand all
Section 1
Course introduction
001 Welcome nWxs gitir
Section 2
Getting going with Go
005 Why Go qiDs gitir
006 Documentation example code Jghu gitir
008 Exploring format printing and documentation TN8y gitir
009 How computers work core principles jTXH gitir
010 ASCII Unicode UTF 8 understanding text GQNL gitir
011 String literals and documentation r6uf gitir
Section 3
Hands-on exercises
013 Hands on exercise 1 vjJe gitir
Section 4
The fundamentals of Go
014 Variables zero values blank identifier xN2o gitir
015 Using printf for decimal hexadecimal values Q7BS gitir
016 Numeral systems decimal binary hexadecimal mqzg gitir
017 Values types conversion scope housekeeping O9OD gitir
018 Built in types aggregate types and composition pD6w gitir
Section 5
Hands-on exercises
020 Hands on exercise 3 go tour step 4 7 PhjY gitir
021 Hands on exercise 4 go tour step 8 10 E9f2 gitir
022 Hands on exercise 5 go tour step 11 13 8oHc gitir
023 Hands on exercise 6 go tour step 14 15 hSpB gitir
024 Hands on exercise 7 go tour step 16 17 bitwise ops bit shifting gI6j gitir
025 Hands on exercise 8 was 03 iota E49M gitir
026 Hands on exercise 9 was 04 measuring bits with bitwise operations VnOC gitir
027 Hands on exercise 10 was 05 zero value type specificity blank identi ePn8 gitir
028 Hands on exercise 11 was 06 printf verbs to show values and types e8GC gitir
029 Hands on exercise 12 was 07 printf binary decimal hexadecimal kGs7 gitir
030 Hands on exercise 13 was 08 signed and unsigned int E0QS gitir
Section 6
Programming fundamentals for beginners
031 Introduction 6euJ gitir
032 Terminology hDTm gitir
033 Understanding scope UW98 gitir
034 Working at the terminal mq4o gitir
035 Using bash on Windows eQJO gitir
036 Terminal commands part 1 hMKB gitir
037 Terminal commands part 2 M4rF gitir
038 Github and ssh authentication ZqxA gitir
039 Setting up a github repo KvZe gitir
040 Checksums RJS8 gitir
Section 7
Your development environment
041 Getting up and running Ey1O gitir
042 Running go programs on your machine gMca gitir
043 Go install puts binary in GOPATH bin rusz gitir
Section 8
Go mod and dependency management
044 Introduction to go modules dependency management VW1J gitir
045 Modular code dependency mgmt go get overview 5zyr gitir
046 Go modules in action go mod init go mod tidy MimI gitir
047 Looking at the documentation for go mod tidy 1Ih6 gitir
048 Package visibility visible not visible exported not exported em0t gitir
049 Modular code dependency mgmt go get 1 JfOk gitir
050 Modular code dependency mgmt go get 2 lhv3 gitir
051 Tag git commits with version overview gHP6 gitir
052 Tag git commits with version example 1 AVRI gitir
053 Tag git commits with version example 2 MK4a gitir
054 Specifying dependency version Nmd5 gitir
Section 9
Hands-on exercises
055 Hands on exercise 14 was 09 8zOP gitir
056 Hands on exercise 15 was 10 zDCW gitir
057 Hands on exercise 16 was 11 OIbz gitir
058 Hands on exercise 17 was 12 5xr7 gitir
059 Hands on exercise 18 was 13 eXvJ gitir
060 Hands on exercise 19 was 14 erPF gitir
061 Hands on exercise 20 was 15 dfFi gitir
062 Hands on exercise 21 was 16 QcYY gitir
063 Hands on exercise 22 git clone was 17 92oZ gitir
Section 10
Housekeeping - Hash Algorithms, Symmetric & Asymmetric Encryption, Communication
064 Hash Algorithms Symmetric Asymmetric Encryption Network Communication 5C4a gitir
Section 11
Control Flow
065 Previewing code SH1B gitir
066 Understanding control flow eNF7 gitir
067 If statements comparison operators ykt7 gitir
068 Understanding using Logical operators 4LPo gitir
069 The statement statement comma ok idioms ZQtT gitir
070 Using switch statements to make decisions in code NgY8 gitir
071 Using select statements for concurrency communication f2EV gitir
072 Understanding using for statement to create loops F4b7 gitir
073 Multiple iteration nesting a loop within a loop xU8l gitir
074 Understanding using for range loops zwiF gitir
075 Finding a modulus remainder pu1z gitir
Section 12
Hands-on exercises
076 Hands on exercise 23 was 18 VyqE gitir
077 Hands on exercise 24 was 19 XgWG gitir
078 Hands on exercise 25 was 20 X7tf gitir
079 Hands on exercise 26 was 21 Rwtu gitir
080 Hands on exercise 27 was 22 4gsa gitir
081 Hands on exercise 28 was 23 vXqn gitir
082 Hands on exercise 29 was 24 pdXK gitir
083 Hands on exercise 30 was 25 fg48 gitir
084 Hands on exercise 31 was 26 infinite loops 5hVh gitir
085 Hands on exercise 32 was 27 ivCd gitir
086 Hands on exercise 33 was 28 a joke UHNP gitir
087 Hands on exercise 34 was 29 nkpI gitir
088 Hands on exercise 35 was 30 rsSw gitir
089 Hands on exercise 36 was 31 ofEc gitir
090 Hands on exercise 37 was 32 3XyG gitir
091 Hands on exercise 38 was 33 XtcV gitir
092 Hands on exercise 39 was 34 jMTY gitir
093 Additional code XYiS gitir
Section 13
Grouping data values - array & slice
094 Review and preview 9Hzv gitir
095 Introduction to grouping values 2I8F gitir
096 Array an introduction to arrays VZeo gitir
097 Hands on exercise 40 MXZo gitir
098 Slice composite literal AOWW gitir
099 Hands on exercise 41 HB3a gitir
100 Slice for range access values by index position 9XMO gitir
101 Slice append to a slice RLsx gitir
102 Slice slicing a slice WY8a gitir
103 Slice deleting from a slice Pncq gitir
104 Slice make p9Qp gitir
105 Slice multidimensional slice SJQZ gitir
106 Slice slice internals underlying array 01 jQK4 gitir
107 Slice slice internals underlying array 02 ZsVb gitir
108 Slice slice internals underlying array 03 z77f gitir
Section 14
Hands-on exercises
109 Hands on exercise 42 R7nc gitir
110 Hands on exercise 43 N9fg gitir
111 Hands on exercise 44 vHJw gitir
112 Hands on exercise 45 65rv gitir
113 Hands on exercise 46 Tned gitir
114 Hands on exercise 47 RozS gitir
115 Hands on exercise 48 nwwP gitir
Section 15
Grouping data values - map
116 Map introduction EVtZ gitir
117 Map for range over a map BBqZ gitir
118 Map delete element oAfJ gitir
119 Map comma ok idiom xqwE gitir
120 Map counting words in a book nedi gitir
Section 16
Hands-on exercises
121 Hands on exercise 49 map string string YzAT gitir
122 Hands on exercise 50 add a record jjaX gitir
123 Hands on exercise 51 delete a record ABXt gitir
124 Hands on exercise 52 word frequency kGQw gitir
Section 17
Grouping data values - structs
125 Struct introduction kLHm gitir
126 Embedded structs Walt gitir
127 Anonymous structs CWEN gitir
128 Composition su7R gitir
Section 18
Hands-on exercises
129 Hands on exercise 53 struct with slice sI5n gitir
130 Hands on exercise 54 map struct uMIw gitir
131 Hands on exercise 55 embed struct ra9F gitir
132 Hands on exercise 56 anonymous struct HDN2 gitir
Section 19
Functions in the go programming language
133 Introduction to functions RA1k gitir
134 Syntax of functions in Go q3Gj gitir
135 Variadic parameter QFqk gitir
136 Unfurling a slice T5Lv gitir
137 Defer 0ndx gitir
138 Methods 27ic gitir
139 Interfaces polymorphism 5Xsl gitir
140 Exploring the stringer interface QEKA gitir
141 Expanding on the stringer interface wrapper func for logging X1zr gitir
142 Writer interface writing to a file mqG5 gitir
143 Writer interface writing to a byte buffer KBY7 gitir
144 Writing to either a file or a byte buffer TnIa gitir
145 Anonymous func y0bQ gitir
146 func expression ZaYH gitir
147 Returning a func TxT8 gitir
148 Callback lNqw gitir
149 Closure mN4k gitir
150 Function fundamentals ZMl5 gitir
151 Recursion 1g7Z gitir
152 Wrapper function Tw7R gitir
Section 20
Hands-on exercises
153 Hands on exercise 57 func concepts q1yK gitir
154 Hands on exercise 58 basic funcs BAVo gitir
155 Hands on exercise 59 variadic func QO2d gitir
156 Hands on exercise 60 defer func q3MX gitir
157 Hands on exercise 61 method 4UZp gitir
158 Hands on exercise 62 interfaces 35M9 gitir
159 Hands on exercise 63 tests in go 1 oIEb gitir
160 Hands on exercise 64 tests in go 2 unit tests U0sV gitir
161 Hands on exercise 65 tests in go 3 unit tests xVAG gitir
162 Hands on exercise 66 documenting code with comments BOck gitir
163 Hands on exercise 67 interfaces mock testing a db QEKX gitir
164 Hands on exercise 68 anonymous func Ju7l gitir
165 Hands on exercise 69 func expression vCMF gitir
166 Hands on exercise 70 func return 1g8S gitir
167 Hands on exercise 71 callback JuUj gitir
168 Hands on exercise 72 closure cX1t gitir
169 Hands on exercise 73 wrapper 2YvC gitir
Section 21
Pointers
170 What are pointers K0qD gitir
171 Seeing type value for pointers yVJr gitir
172 Dereferencing pointers heqS gitir
173 Pass by value pointers reference types and mutability bBvR gitir
174 Pointer value semantics defined 9425 gitir
175 Pointer value semantics heuristics R0pT gitir
176 Pointers values the stack the heap vPEh gitir
177 Exploring method sets part 1 edQg gitir
178 Exploring method sets part 2 XPPJ gitir
Section 22
Hands-on exercises
179 Hands on exercise 74 create a pointer UqPN gitir
180 Hands on exercise 75 dereference an address 8sdN gitir
181 Hands on exercise 76 interface implementation method sets zN5u gitir
182 Hands on exercise 77 value pointer semantics sbrh gitir
Section 23
Generics
183 Type constraint urVQ gitir
184 Type constraint type set interface example B7lT gitir
185 Type alias underlying type constraints CeXD gitir
186 Package constraints 4lfw gitir
187 Generics tutorial E3XC gitir
188 Concrete type vs interface type LPMI gitir
Section 24
Application
190 JSON marshal LN7d gitir
191 JSON unmarshal ajtQ gitir
192 Writer interface peIj gitir
193 Sort ATm0 gitir
194 Sort custom 48Ap gitir
195 bcrypt 2gMx gitir
Section 25
Exercises - Ninja Level 8
196 Hands on exercise 1 r6So gitir
197 Hands on exercise 2 s69v gitir
198 Hands on exercise 3 QIEM gitir
199 Hands on exercise 4 KAJH gitir
200 Hands on exercise 5 YkCB gitir
Section 26
Concurrency
201 Concurrency vs parallelism V5bZ gitir
202 WaitGroup yLx4 gitir
203 Method sets revisited uOpb gitir
204 Documentation cZxI gitir
205 Race condition 6r6T gitir
206 Mutex NamN gitir
207 Atomic gAY4 gitir
Section 27
Exercises - Ninja Level 9
208 Hands on exercise 1 LQLe gitir
209 Hands on exercise 2 R3Ou gitir
210 Hands on exercise 3 wsqP gitir
211 Hands on exercise 4 hfit gitir
212 Hands on exercise 5 ORL7 gitir
213 Hands on exercise 6 TeUZ gitir
Section 28
Channels
214 Understanding channels Qs9y gitir
215 Directional channels 60R2 gitir
216 Using channels 0AVW gitir
217 Range Ls3c gitir
218 Select PJZp gitir
219 Comma ok idiom KnPL gitir
220 Fan in k867 gitir
221 Fan out BrSQ gitir
222 Context YZNT gitir
Section 29
Exercises - Ninja Level 10
223 Hands on exercise 1 kvkQ gitir
224 Hands on exercise 2 t6Pc gitir
225 Hands on exercise 3 Jy0M gitir
226 Hands on exercise 4 JYUF gitir
227 Hands on exercise 5 AyNP gitir
228 Hands on exercise 6 57U7 gitir
229 Hands on exercise 7 q1n6 gitir
Section 30
Error handling
230 Understanding LV0P gitir
231 Checking errors K2zh gitir
232 Printing and logging 7i14 gitir
233 Recover jFPV gitir
234 Errors with info 1KjB gitir
Section 31
Exercises - Ninja Level 11
235 Hands on exercise 1 gi4Q gitir
236 Hands on exercise 2 AENE gitir
237 Hands on exercise 3 hFH4 gitir
238 Hands on exercise 4 2G1A gitir
239 Hands on exercise 5 Oxwl gitir
Section 32
Writing documentation
240 Introduction J8r2 gitir
241 go doc JBh0 gitir
242 godoc id2t gitir
243 godoc org TUme gitir
244 Writing documentation gE4r gitir
Section 33
Exercises - Ninja Level 12
245 Hands on exercise 1 LqSq gitir
Section 34
Testing & benchmarking
246 Introduction QcO1 gitir
247 Table tests hQlh gitir
248 Example tests EHvw gitir
249 Golint bkrd gitir
250 Benchmark psNs gitir
251 Coverage jyn5 gitir
252 Benchmark examples 8VjU gitir
253 Review R2j4 gitir
Section 35
Exercises - Ninja Level 13
254 Hands on exercise 1 im58 gitir
255 Hands on exercise 2 5hEk gitir
256 Hands on exercise 3 gZCs gitir
Section 36
Farewell
257 Congratulations 8Jy5 gitir
Section 37
Concurrency
259 Concurrency WaitGroup COhT gitir
260 Parallelism A3pl gitir
261 Race Conditions VKJE gitir
262 Mutex wHkI gitir
263 Atomicity o6iD gitir
264 Review Channels Preview 7y73 gitir
Section 38
Channels
265 Channels Introduction adxu gitir
266 Range Clause acaB gitir
267 N to 1 Beum gitir
268 Semaphores Part 1 FiiX gitir
269 Semaphores Part 2 igvx gitir
270 1 to N Rrxe gitir
271 Channels as Arguments Returns pPpZ gitir
272 Channel Direction 9vGa gitir
Section 39
Applied Concurrency
273 Incrementor With Channels IpTa gitir
274 Deadlock Challenge GGBD gitir
275 Factorial Challenge vlxA gitir
276 Pipeline Pattern QHbe gitir
277 Factorial Challenge Redux g495 gitir
278 Factorial Challenge Redux Solution 6RpI gitir
279 Fan Out Fan In Pattern Overview pkAq gitir
280 Fan In Pattern XFH7 gitir
281 Fan Out Fan In Example wop7 gitir
Section 40
Concurrency Challenges
282 Fan Out Fan In Challenge 2vTD gitir
283 Fan Out Fan In Solution XrDN gitir
284 Fan Out Fan In Challenge Factorial dPoL gitir
285 Fan Out Fan In Solution Factorial cK4l gitir
286 Deadlock Challenge ji7F gitir
287 Deadlock Solution gqmu gitir
288 Incrementor Challenge Revisited 3mvc gitir
289 Incrementor Solution 2lKU gitir
Section 41
Concurrency Resources
290 Additional Resources KLAp gitir
Section 42
Error Handling
291 An Introduction to Error Handling in Go rhes gitir
292 Improving Your Code with Golint pb0S gitir
293 Handling Errors Logging Errors to a File EBtE gitir
294 Four Common Ways to Handle Errors u3Sc gitir
295 Custom Errors Creating Values of Type error 2YBT gitir
296 Idiomatic Error Handling 18Vq gitir
297 Providing Context with Errors NWrc gitir
298 Providing Even More Context with Errors NWGB gitir
299 Error Handling Review Resources WwNG gitir
Section 43
Farewell
300 Congratulations hnso gitir
301 Bonus lecture m75x gitir
Instructors
Enrolment options
Learn How To Code Googles Go (golang) Programming Language
Course modified date:
23 Jan 2025
Enrolled students:
There are no students enrolled in this course.
Guests cannot access this course. Please log in.
Continue
Enrol now
This course includes
Resources
Share this course
Scroll to top
×
Close
×
Close