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