Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Go - The Complete Guide, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:01:06
    Welcome To The Course!
  2. Урок 2. 00:01:49
    What Is Go? And Why Is It Awesome?
  3. Урок 3. 00:01:50
    Installing Go (Alternative: Web-based Setup)
  4. Урок 4. 00:01:42
    Local Code Editor Setup For Go Development
  5. Урок 5. 00:02:04
    Writing a First Go Program
  6. Урок 6. 00:01:24
    About The Course & Course Content
  7. Урок 7. 00:03:24
    How To Get The Most Out Of This Course
  8. Урок 8. 00:01:17
    Module Introduction
  9. Урок 9. 00:03:48
    Working with Functions & Values
  10. Урок 10. 00:03:54
    Organizing Code with Packages
  11. Урок 11. 00:01:54
    The Important Of The Name "main"
  12. Урок 12. 00:04:34
    Understanding Go Modules & Building Go Programs
  13. Урок 13. 00:03:54
    The "main" Function Is Important!
  14. Урок 14. 00:02:23
    Onwards To A New Project
  15. Урок 15. 00:05:36
    Working with Variables, Values & Operators
  16. Урок 16. 00:05:22
    Understanding Value Types
  17. Урок 17. 00:03:14
    Outputting Values
  18. Урок 18. 00:04:22
    Type Conversions & Explicit Type Assignment
  19. Урок 19. 00:05:28
    Using Alternative Variable Declaration Styles
  20. Урок 20. 00:04:30
    Making Sense of Constant Values ("Constants")
  21. Урок 21. 00:06:33
    Understanding the Importance Of Variables
  22. Урок 22. 00:05:23
    Improved User Input Fetching
  23. Урок 23. 00:01:19
    Exercise: Building a Profit Calculator
  24. Урок 24. 00:08:14
    Exercise Solution
  25. Урок 25. 00:07:30
    Formatting Strings (Text) - Basics
  26. Урок 26. 00:02:42
    Formatting Floats in Strings
  27. Урок 27. 00:02:27
    Building Multiline Strings
  28. Урок 28. 00:03:46
    Creating Formatted Strings
  29. Урок 29. 00:09:05
    Understanding Functions
  30. Урок 30. 00:11:08
    Functions: Return Values & Variable Scope
  31. Урок 31. 00:02:32
    An Alternative Return Value Syntax
  32. Урок 32. 00:09:00
    Exercise: Working with Functions
  33. Урок 33. 00:05:29
    Onwards to Control Structures
  34. Урок 34. 00:05:52
    Introducing "if" Statements & Booleans
  35. Урок 35. 00:04:22
    Working with "else if"
  36. Урок 36. 00:02:05
    Exercise: "if" Statements
  37. Урок 37. 00:02:03
    Using "else"
  38. Урок 38. 00:04:52
    Nested "if" Statements & Using "return" To Stop Function Execution
  39. Урок 39. 00:04:04
    Repeating Code With "for" Loops
  40. Урок 40. 00:05:00
    Infinite Loops, "break" & "continue"
  41. Урок 41. 00:05:19
    Making Sense of "switch" Statements
  42. Урок 42. 00:06:09
    Writing To Files
  43. Урок 43. 00:06:48
    Reading From Files
  44. Урок 44. 00:08:02
    Handling Errors
  45. Урок 45. 00:02:05
    Time to Panic!
  46. Урок 46. 00:01:45
    Section Exercise - The Task
  47. Урок 47. 00:11:30
    Section Exercise - Solution
  48. Урок 48. 00:01:09
    Module Summary
  49. Урок 49. 00:00:54
    Module Introduction
  50. Урок 50. 00:04:20
    Splitting Code Across Files In The Same Package
  51. Урок 51. 00:01:33
    Why Would You Use More Than One Package?
  52. Урок 52. 00:03:42
    Preparing Code For Multiple Packages
  53. Урок 53. 00:02:42
    Splitting Code Across Multiple Packages
  54. Урок 54. 00:01:38
    Importing Packages
  55. Урок 55. 00:02:37
    Exporting & Importing Identifiers (Variables, Functions & More)
  56. Урок 56. 00:05:37
    Using Third-Party Packages
  57. Урок 57. 00:01:01
    Module Summary
  58. Урок 58. 00:00:31
    Module Introduction
  59. Урок 59. 00:06:05
    Understanding Pointers
  60. Урок 60. 00:03:18
    Writing Code Without Pointers
  61. Урок 61. 00:01:40
    Creating a Pointer
  62. Урок 62. 00:01:57
    Pointers as Values
  63. Урок 63. 00:03:29
    Using Pointers & Passing Pointers To Functions
  64. Урок 64. 00:04:09
    Using Pointers For Data Mutation
  65. Урок 65. 00:01:00
    Example: The Scan() Function Uses Pointers
  66. Урок 66. 00:00:35
    Module Summary
  67. Урок 67. 00:00:54
    The Starting Project
  68. Урок 68. 00:01:08
    Module Introduction
  69. Урок 69. 00:02:28
    Which Problem Do Structs Solve?
  70. Урок 70. 00:04:44
    Defining A Struct Type
  71. Урок 71. 00:03:29
    Instantiating Structs & Struct Literal Notation
  72. Урок 72. 00:02:24
    More On Struct Literals
  73. Урок 73. 00:02:25
    Alternative Struct Literal Notation & Struct Null Values
  74. Урок 74. 00:02:34
    Passing Struct Values As Arguments
  75. Урок 75. 00:03:22
    Structs & Pointers
  76. Урок 76. 00:04:29
    Introducing Methods
  77. Урок 77. 00:06:03
    Mutation Methods
  78. Урок 78. 00:04:57
    Using Creation / Constructor Functions
  79. Урок 79. 00:04:53
    Using Constructor Functions For Validation
  80. Урок 80. 00:05:21
    Structs, Packages & Exports
  81. Урок 81. 00:05:39
    Exposing Methods & A Different Constructor Function Name
  82. Урок 82. 00:07:57
    Struct Embedding
  83. Урок 83. 00:02:58
    Structs - A Summary
  84. Урок 84. 00:05:17
    Creating Other Custom Types & Adding Methods
  85. Урок 85. 00:07:36
    Practice Project: Getting User Input
  86. Урок 86. 00:07:18
    Practice Project: Creating a Struct & Constructor Function
  87. Урок 87. 00:03:35
    Practice Project: Adding a Method
  88. Урок 88. 00:06:14
    Practice Project: Handling Long User Input Text
  89. Урок 89. 00:04:15
    Practice Project: Preparing Save To File Functionality
  90. Урок 90. 00:05:16
    Practice Project: Encoding JSON Content
  91. Урок 91. 00:02:14
    Practice Project: Fixes
  92. Урок 92. 00:04:18
    Understanding Struct Tags
  93. Урок 93. 00:03:37
    Preparing An Interface Use-Case
  94. Урок 94. 00:00:26
    Module Introduction
  95. Урок 95. 00:03:11
    Finishing Interface Preparations
  96. Урок 96. 00:05:17
    Creating a First Interface
  97. Урок 97. 00:05:17
    Using The Interface
  98. Урок 98. 00:06:10
    Embedded Interfaces
  99. Урок 99. 00:02:08
    The Special "Any Value Allowed" Type
  100. Урок 100. 00:03:37
    Working with Type Switches
  101. Урок 101. 00:05:14
    Extracting Type Information From Values
  102. Урок 102. 00:03:58
    Interfaces, Dynamic Types & Limitations
  103. Урок 103. 00:05:32
    Introducing Generics
  104. Урок 104. 00:08:03
    Introducing Arrays
  105. Урок 105. 00:01:20
    Module Introduction
  106. Урок 106. 00:06:21
    Working with Arrays
  107. Урок 107. 00:03:26
    Selecting Parts of Arrays With Slices
  108. Урок 108. 00:04:30
    More Ways Of Selecting Slices
  109. Урок 109. 00:09:42
    Diving Deeper Into Slices
  110. Урок 110. 00:09:24
    Building Dynamic Lists With Slices
  111. Урок 111. 00:04:13
    Exercise - Problem
  112. Урок 112. 00:20:00
    Exercise - Solution
  113. Урок 113. 00:03:30
    Unpacking List Values
  114. Урок 114. 00:06:43
    Introducing Maps
  115. Урок 115. 00:03:44
    Mutating Maps
  116. Урок 116. 00:04:00
    Maps vs Structs
  117. Урок 117. 00:07:11
    Using The Special "make" Function
  118. Урок 118. 00:03:09
    "make"ing Maps
  119. Урок 119. 00:02:34
    Working with Type Aliases
  120. Урок 120. 00:05:25
    For Loops with Arrays, Slices & Maps
  121. Урок 121. 00:01:05
    Module Introduction
  122. Урок 122. 00:15:08
    Functions as Values & Function Types
  123. Урок 123. 00:06:21
    Returning Functions As Values
  124. Урок 124. 00:06:35
    Introducing Anonymous Functions
  125. Урок 125. 00:06:45
    Understanding Closures
  126. Урок 126. 00:11:23
    Making Sense Of Recursion
  127. Урок 127. 00:06:50
    Using Variadic Functions
  128. Урок 128. 00:03:05
    Splitting Slices Into Parameter Values
  129. Урок 129. 00:01:46
    Module Introduction
  130. Урок 130. 00:09:46
    Building a First, Basic Version Of The Program
  131. Урок 131. 00:03:41
    Setting Up A First Struct
  132. Урок 132. 00:03:06
    Adding a Constructor Function
  133. Урок 133. 00:07:09
    Adding a Method
  134. Урок 134. 00:08:14
    Loading Data From A File
  135. Урок 135. 00:07:14
    Working With The File Data
  136. Урок 136. 00:05:28
    Outsourcing Sharable Logic Into A Package
  137. Урок 137. 00:05:40
    Outsourcing File Access Into A Package
  138. Урок 138. 00:08:36
    Storing JSON Data In Files
  139. Урок 139. 00:08:17
    Adding a FileManager Struct
  140. Урок 140. 00:02:47
    Adding & Using Struct Tags
  141. Урок 141. 00:07:56
    Working on a Swappable Struct
  142. Урок 142. 00:04:29
    Interfaces To The Rescue
  143. Урок 143. 00:02:54
    Error Handling
  144. Урок 144. 00:01:14
    Module Summary
  145. Урок 145. 00:01:44
    Introducing Goroutines
  146. Урок 146. 00:00:53
    Module Introduction
  147. Урок 147. 00:03:19
    Running Functions As Goroutines
  148. Урок 148. 00:01:43
    Understanding Goroutine Behavior
  149. Урок 149. 00:04:29
    Introducing & Using Channels
  150. Урок 150. 00:08:35
    Working with Multiple Channels & Goroutines
  151. Урок 151. 00:09:58
    Goroutines & Channels in a Project
  152. Урок 152. 00:03:28
    Setting Up An Error Channel
  153. Урок 153. 00:05:47
    Managing Channels with the "select" Statement
  154. Урок 154. 00:02:39
    Deferring Code Execution with "defer"
  155. Урок 155. 00:01:28
    Module Introduction
  156. Урок 156. 00:04:10
    Planning The API
  157. Урок 157. 00:02:18
    Installing the Gin Framework
  158. Урок 158. 00:11:55
    Setting Up A First Route & Handling a First Request
  159. Урок 159. 00:04:06
    Setting Up An Event Model
  160. Урок 160. 00:08:46
    Registering a POST Route
  161. Урок 161. 00:07:02
    Testing Requests & Fixing the POST Request Handler
  162. Урок 162. 00:08:28
    Adding a SQL Database
  163. Урок 163. 00:05:50
    Creating A SQL Database Table
  164. Урок 164. 00:06:32
    Storing Data in the Database (INSERT)
  165. Урок 165. 00:08:32
    Getting Events From Database (SELECT)
  166. Урок 166. 00:12:10
    Getting Single Event Data By ID
  167. Урок 167. 00:04:02
    Refactoring Code & Outsourcing Routes
  168. Урок 168. 00:04:47
    Registering an "Update Event" Route & Handler
  169. Урок 169. 00:08:01
    Updating Events
  170. Урок 170. 00:05:50
    Deleting Events
  171. Урок 171. 00:04:15
    Adding a "Users" Table To The SQL Database
  172. Урок 172. 00:08:32
    Adding User Signup
  173. Урок 173. 00:01:19
    Don't Store Plain-text Passwords!
  174. Урок 174. 00:05:02
    Hashing Passwords
  175. Урок 175. 00:02:24
    Getting Started with Auth Tokens (JWT)
  176. Урок 176. 00:10:26
    Getting Started with the Login Route
  177. Урок 177. 00:05:13
    Finishing The Login Logic
  178. Урок 178. 00:07:54
    Generating JWT
  179. Урок 179. 00:04:23
    Finishing The JWT Logic
  180. Урок 180. 00:14:33
    Adding Token Verification
  181. Урок 181. 00:05:17
    Adding Route Protection
  182. Урок 182. 00:08:00
    Retrieving & Storing User and Event IDs
  183. Урок 183. 00:03:52
    Adding an Authentication Middleware
  184. Урок 184. 00:07:28
    Enhancing & Using The Middleware
  185. Урок 185. 00:05:59
    Adding Authorization To Restrict Users From Editing & Deleting
  186. Урок 186. 00:03:03
    Adding a Registrations Table
  187. Урок 187. 00:07:40
    Registering Users
  188. Урок 188. 00:02:50
    Testing & Fixing the "Register" Route
  189. Урок 189. 00:05:20
    Cancelling Registrations
  190. Урок 190. 00:01:02
    Module Summary
  191. Урок 191. 00:00:51
    Course Roundup