![Мастер-класс по Google Golang logo](https://cdn.coursehunter.net/courses/360x220/master-klass-po-google-golang.jpg)
-
Урок 1. 00:02:56Environment Setup
-
Урок 2. 00:02:47VSCode Installation
-
Урок 3. 00:03:23Go Support in VSCode
-
Урок 4. 00:03:12Boring Ol' Hello World
-
Урок 5. 00:06:17Five Important Questions
-
Урок 6. 00:06:11Go Packages
-
Урок 7. 00:03:59Import Statements
-
Урок 8. 00:03:35File Organization
-
Урок 9. 00:02:32Project Overview
-
Урок 10. 00:01:56New Project Folder
-
Урок 11. 00:10:41Variable Declarations
-
Урок 12. 00:07:43Functions and Return Types
-
Урок 13. 00:10:50Slices and For Loops
-
Урок 14. 00:04:34OO Approach vs Go Approach
-
Урок 15. 00:06:41Custom Type Declarations
-
Урок 16. 00:06:17Receiver Functions
-
Урок 17. 00:10:58Creating a New Deck
-
Урок 18. 00:05:57Slice Range Syntax
-
Урок 19. 00:08:12Multiple Return Values
-
Урок 20. 00:07:00Byte Slices
-
Урок 21. 00:07:27Deck to String
-
Урок 22. 00:06:37Joining a Slice of Strings
-
Урок 23. 00:07:03Saving Data to the Hard Drive
-
Урок 24. 00:11:19Reading From the Hard Drive
-
Урок 25. 00:07:53Error Handling
-
Урок 26. 00:09:43Shuffling a Deck
-
Урок 27. 00:10:31Random Number Generation
-
Урок 28. 00:03:41Testing With Go
-
Урок 29. 00:12:04Writing Useful Tests
-
Урок 30. 00:04:23Asserting Elements in a Slice
-
Урок 31. 00:09:53Testing File IO
-
Урок 32. 00:06:18Project Review
-
Урок 33. 00:04:44Structs in Go
-
Урок 34. 00:03:55Defining Structs
-
Урок 35. 00:04:52Declaring Structs
-
Урок 36. 00:05:37Updating Struct Values
-
Урок 37. 00:06:31Embedding Structs
-
Урок 38. 00:07:27Structs with Receiver Functions
-
Урок 39. 00:05:53Pass By Value
-
Урок 40. 00:03:13Structs with Pointers
-
Урок 41. 00:10:14Pointer Operations
-
Урок 42. 00:06:27Pointer Shortcut
-
Урок 43. 00:04:10Gotchas With Pointers
-
Урок 44. 00:07:39Reference vs Value Types
-
Урок 45. 00:05:48What's a Map?
-
Урок 46. 00:04:56Manipulating Maps
-
Урок 47. 00:05:17Iterating Over Maps
-
Урок 48. 00:05:55Differences Between Maps and Structs
-
Урок 49. 00:09:26Purpose of Interfaces
-
Урок 50. 00:10:15Problems Without Interfaces
-
Урок 51. 00:09:17Interfaces in Practice
-
Урок 52. 00:07:49Rules of Interfaces
-
Урок 53. 00:06:59Extra Interface Notes
-
Урок 54. 00:08:00The HTTP Package
-
Урок 55. 00:05:36Reading the Docs
-
Урок 56. 00:03:14More Interface Syntax
-
Урок 57. 00:01:54Interface Review
-
Урок 58. 00:08:18The Reader Interface
-
Урок 59. 00:07:24More on the Reader Interface
-
Урок 60. 00:05:39Working with the Read Function
-
Урок 61. 00:04:16The Writer Interface
-
Урок 62. 00:05:13The io.Copy Function
-
Урок 63. 00:04:34The Implementation of io.Copy
-
Урок 64. 00:07:57A Custom Writer
-
Урок 65. 00:05:29Website Status Checker
-
Урок 66. 00:04:33Printing Site Status
-
Урок 67. 00:03:28Serial Link Checking
-
Урок 68. 00:07:13Go Routines
-
Урок 69. 00:08:42Theory of Go Routines
-
Урок 70. 00:06:10Channels
-
Урок 71. 00:09:17Channel Implementation
-
Урок 72. 00:09:56Blocking Channels
-
Урок 73. 00:03:33Receiving Messages
-
Урок 74. 00:06:46Repeating Routines
-
Урок 75. 00:03:59Alternative Loop Syntax
-
Урок 76. 00:06:15Sleeping a Routine
-
Урок 77. 00:04:49Function Literals
-
Урок 78. 00:10:33Channels Gotcha!
Could I ask you to update this course please?
Thanks in advance!
Please update here!
update please
For newbies it won't be enough, for those like me with some experience in other languages - i'd rather see more real life examples.
Here's the method shuffles items properly.
func (d deck) shuffle() {
rand.Seed(time.Now().UnixNano())
rand.Shuffle(len(d), func(i, j int) {
d[i], d[j] = d[j], d[i]
})
}
Basically, you need to add rand.Seed(time.Now().UnixNano()) before calling rand.Intn()
Last updated 7/2021
Не плохо бы обновить)