У цій статті я перерахую деякі з найкращих ресурсів, доступних в Інтернеті, для вивчення та оволодіння Golang.
Оскільки кожен користувач віддає перевагу різним режимам навчання, я буду розповідати про текстові статті, навчальні посібники, відео та популярні курси навколо Golang.
Голанг досить швидко зростає з точки зору популярності, і ви закохаєтесь у Go, коли почнете його досліджувати.
Посібник розробника
Маючи близько 50 тисяч студентів, це один із найкращих повних пакетів для вивчення Go від основ. Цей курс добре протестований і добре працює для більшості студентів; коли ви купуєте, ви маєте довічний доступ до цього. Якщо вам подобається вивчати повні відеокурси, то це саме те, що вам потрібно!
Це курс ідеально підходить для початківців і для людей, які хочуть переглянути вступні поняття. Курс містить 9 годин відео на вимогу з додатковими кодовими ресурсами та завданнями.
Деякі з тем, які розглядаються в цьому курсі:
- Налаштування, встановлення та основи мови.
- Пакети та файлові структури
- Змінні, функції, масиви та фрагменти
- Поглиблене висвітлення карт, структур та інтерфейсів
- Канал і підпрограми (паралельне програмування)
Навчальний табір
Маючи понад 300 лекцій, повний курс Bootcamp на Udemy – безперечно гарна покупка та правильне місце для вивчення Голанг. Ви вчитеся, створюючи такі програми, як –
- Парсер журналу
- Сканер файлів
- Маскування спаму
Окрім цього, курс пропонує понад 1000+ практичних вправ.
Крім охоплення базових концепцій Go, таких як структури, інтерфейси та канали, у цьому курсі є цікавий проект, у якому ви дізнаєтесь, як анімувати м’яч, що стрибає.
Ви також отримаєте сертифікат про закінчення курсу в кінці курсу.
Екскурсія Го
Що ж, я великий шанувальник офіційної документації, блогів і посібників Golang. Цей інтерактивний курс є безкоштовним і не вимагає локального налаштування. Просто відкрийте веб-сайт і почніть вивчати основи з практичним кодом для кожної теми.
Це курс, з якого вам варто почати, якщо ви просто хочете досліджувати та вивчити основи без будь-яких налаштувань.
Подавайте приклад
Це не зовсім повний курс, скоріше те місце, до якого ви забудете основи. Сайт охоплює всі поняття зі вступним текстом і повним прикладом роботи. Сайт настільки простий, наскільки це можливо, тому він зосереджений на навчанні. Деякі з основних вступних дописів про –
- Змінні та константи
- для
- If/Else і Switch
- Масиви та фрагменти
- Карти
- Діапазон
- Функції
і майже всі теми, які вам потрібні! робити Перевір і додайте його в закладки для довідки.
Вивчіть X за Y хвилин
Що ж, якщо вам потрібен короткий огляд основ, вивчити X за Y хвилин є чудовим ресурсом не лише для Go, але й для майже кожної мови програмування. Він керується спільнотою та охоплює багато тем на одній сторінці. Зробіть свій внесок, коли станете добре володіти Go.
Ось фрагмент коду з підручника, який пояснює паралельне програмування в одній функції.
// We'll use inc to increment some numbers concurrently. func learnConcurrency() { // Same make function used earlier to make a slice. Make allocates and // initializes slices, maps, and channels. c := make(chan int) // Start three concurrent goroutines. Numbers will be incremented // concurrently, perhaps in parallel if the machine is capable and // properly configured. All three send to the same channel. go inc(0, c) // go is a statement that starts a new goroutine. go inc(10, c) go inc(-805, c) // Read three results from the channel and print them out. // There is no telling in what order the results will arrive! fmt.Println(<-c, <-c, <-c) // channel on right, <- is "receive" operator. cs := make(chan string) // Another channel, this one handles strings. ccs := make(chan chan string) // A channel of string channels. go func() { c <- 84 }() // Start a new goroutine just to send a value. go func() { cs <- "wordy" }() // Again, for cs this time. // Select has syntax like a switch statement but each case involves // a channel operation. It selects a case at random out of the cases // that are ready to communicate. select { case i := <-c: // The value received can be assigned to a variable, fmt.Printf("it's a %T", i) case <-cs: // or the value received can be discarded. fmt.Println("it's a string") case <-ccs: // Empty channel, not ready for communication. fmt.Println("didn't happen.") } // At this point a value was taken from either c or cs. One of the two // goroutines started above has completed, the other will remain blocked. learnWebProgramming() // Go does it. You want to do it too. }
Настільки стислий і актуальний, спробуйте, якщо хочете отримати короткий огляд будь-яких конкретних тем для Golang.
Gotime
Якщо ви фанат аудіонавчання, Gotime це хороший подкаст. Багато чудових розробників приходять і діляться своїми реальними знаннями та тим, як вони використовують Go у своїх компаніях. Ви також повинні перевірити GopherCon (голанг-конференцію), на якій відомі люди діляться своїми знаннями з громадою.
Ці спільноти обговорюють останні тенденції та вдосконалення Go.
Я додам сюди кілька популярних подкастів –
Книги
Є багато дуже хороших книг. Я додам тут деякі з улюблених –
Блоги
Навколо Голанга є кілька гарних блогів. Також є багато статей про середу, які ви можете вивчити. Я поділюся кількома тут, які будуть для вас корисними –
YouTube
Любите навчання на основі відео?
Звичайно, перегляньте цей підручник Golang для початківців від freeCodeCamp.
Висновок
Я б рекомендував пройти один із наведених вище курсів, якщо ви новачок і приєднаєтесь до спільноти Golang. Крім того, поділіться своїми знаннями зі світом і зробіть свій внесок у покращення Go. Сподіваюся, ви дізналися щось корисне та отримали все найкраще для своєї подорожі з Go.