O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Go Fundamentals

Video Description

Go from Hello World to writing highly concurrent programs

Go, the new open source language from Google, is known for its simple syntax, rich library, easy concurrency, and scalability. It’s used in software systems where "scale big and run fast" is the daily mantra. As you work through real-world examples and task-based lessons, you'll learn the complete language and discover how useful Go can be.

Table of Contents

  1. Welcome to class! 00:01:13
  2. Hello world! 00:05:36
  3. Typical Go Directory Structure 00:04:21
  4. Where to Get Help 00:02:16
  5. Variables, Simple Types and Declarations 00:08:44
  6. String Things 00:04:58
  7. if, inline declarations, handling returned values 00:06:12
  8. The Switch Statement 00:06:04
  9. The for loop 00:04:47
  10. Function Definitions 00:14:18
  11. Arrays and Slices 00:14:45
  12. Maps 00:09:21
  13. Byte Slices 00:07:28
  14. Errors 00:07:48
  15. Goroutines and Channels 00:12:09
  16. The Select Keyword 00:08:54
  17. Channel of Channels 00:02:21
  18. Multiple Readers, Multiple Writers 00:17:10
  19. Closing Channels 00:04:41
  20. Nil Channels and Their Uses 00:05:55
  21. Buffered Channels 00:08:04
  22. Types and the Type Keyword 00:10:38
  23. Interfaces 00:08:19
  24. interface{} and type assertions and type switches 00:06:15
  25. Packages and Initialization 00:13:18
  26. The Go Tool Chain 00:06:55
  27. Unit Testing 00:19:21
  28. The Standard fmt Package 00:08:39
  29. The Standard io, bufio & os packages 00:13:59
  30. The standard net http Package 00:10:33
  31. The Standard Encoding json Package 00:13:08
  32. Standard Strings, strconv & Sort Packages 00:16:25
  33. The Standard Sync Package 00:11:54
  34. The Standard Log Package 00:05:23
  35. The Standard Flag Package 00:04:45
  36. The Standard Time Package 00:05:46
  37. The Standard cgo Package 00:05:26
  38. Intro to Go 00:18:38
  39. Testing Go 00:16:24
  40. Go: Wait Groups 00:07:56
  41. Quartz 00:26:52
  42. Struct Annotations 00:10:30
  43. Packages 00:17:02
  44. Building Binaries 00:06:44
  45. Sending Emails 00:13:52
  46. Shell Commands 00:09:46
  47. Errors 00:10:03
  48. Expvar 00:08:06
  49. CMD App Part 1 00:16:26
  50. CMD App Part 2 00:23:30
  51. CMD App Part 3 00:21:28
  52. Flag 00:12:44
  53. Vim and Go 00:17:50
  54. Blackfriday 00:18:43
  55. Mutex 00:18:40
  56. Godep 00:18:40
  57. Ginkgo 00:21:02
  58. SQL and Go 00:26:11
  59. SQL Nulls 00:15:18
  60. Radix 00:16:05
  61. CSV 00:13:54
  62. Bolt Part 1 00:10:47
  63. Bolt Part 2 00:13:00
  64. Go Templates 00:14:37
  65. Basic Web Apps 00:13:59
  66. Testing Go Web Apps 00:17:21
  67. File Uploads in Go 00:16:20
  68. Bundling Assets 00:11:25
  69. Routing Part 1 00:12:46
  70. Routing Part 2 00:21:31
  71. Middleware 00:19:05
  72. Render 00:12:27
  73. EventSource with Go 00:16:45
  74. Goth 00:15:22
  75. GopherJS 00:15:30
  76. Revel Part 1 00:16:24
  77. Revel Part 2 00:18:50
  78. Revel Part 3 00:17:10
  79. HttpRouter 00:18:32
  80. go.rice 00:11:46
  81. JSON 00:14:54
  82. Websockets Part 1 00:18:47
  83. Websockets Part 2 00:13:06
  84. HTTPS 00:15:16
  85. Echo 00:19:33