Деякі з найкращих ресурсів для опанування Golang

У цій статті я перерахую деякі з найкращих ресурсів, доступних в Інтернеті, для вивчення та оволодіння Golang.

Оскільки кожен користувач віддає перевагу різним режимам навчання, я буду розповідати про текстові статті, навчальні посібники, відео та популярні курси навколо Golang.

Голанг досить швидко зростає з точки зору популярності, і ви закохаєтесь у Go, коли почнете його досліджувати.

Посібник розробника

Маючи близько 50 тисяч студентів, це один із найкращих повних пакетів для вивчення Go від основ. Цей курс добре протестований і добре працює для більшості студентів; коли ви купуєте, ви маєте довічний доступ до цього. Якщо вам подобається вивчати повні відеокурси, то це саме те, що вам потрібно!

Це курс ідеально підходить для початківців і для людей, які хочуть переглянути вступні поняття. Курс містить 9 годин відео на вимогу з додатковими кодовими ресурсами та завданнями.

Деякі з тем, які розглядаються в цьому курсі:

  • Налаштування, встановлення та основи мови.
  • Пакети та файлові структури
  • Змінні, функції, масиви та фрагменти
  • Поглиблене висвітлення карт, структур та інтерфейсів
  • Канал і підпрограми (паралельне програмування)

Навчальний табір

Маючи понад 300 лекцій, повний курс Bootcamp на Udemy – безперечно гарна покупка та правильне місце для вивчення Голанг. Ви вчитеся, створюючи такі програми, як –

  • Парсер журналу
  • Сканер файлів
  • Маскування спаму

Окрім цього, курс пропонує понад 1000+ практичних вправ.

Крім охоплення базових концепцій Go, таких як структури, інтерфейси та канали, у цьому курсі є цікавий проект, у якому ви дізнаєтесь, як анімувати м’яч, що стрибає.

  Як виконати скидання Harmony Hub

Ви також отримаєте сертифікат про закінчення курсу в кінці курсу.

Екскурсія Го

Що ж, я великий шанувальник офіційної документації, блогів і посібників 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.

  Введення в YAML для початківців

Gotime

Якщо ви фанат аудіонавчання, Gotime це хороший подкаст. Багато чудових розробників приходять і діляться своїми реальними знаннями та тим, як вони використовують Go у своїх компаніях. Ви також повинні перевірити GopherCon (голанг-конференцію), на якій відомі люди діляться своїми знаннями з громадою.

Ці спільноти обговорюють останні тенденції та вдосконалення Go.

Я додам сюди кілька популярних подкастів –

Книги

Є багато дуже хороших книг. Я додам тут деякі з улюблених –

Блоги

Навколо Голанга є кілька гарних блогів. Також є багато статей про середу, які ви можете вивчити. Я поділюся кількома тут, які будуть для вас корисними –

  Як вимкнути AirPlay на iPhone

YouTube

Любите навчання на основі відео?

Звичайно, перегляньте цей підручник Golang для початківців від freeCodeCamp.

Висновок

Я б рекомендував пройти один із наведених вище курсів, якщо ви новачок і приєднаєтесь до спільноти Golang. Крім того, поділіться своїми знаннями зі світом і зробіть свій внесок у покращення Go. Сподіваюся, ви дізналися щось корисне та отримали все найкраще для своєї подорожі з Go.