План на курса
Go в Контекст: Сравнение
- Go срещу Java, Python, C и други
- Основни дизайн философии на Go
- Кога (и когато не) да се използва Go
Основни Концепции на Езика
- Настройка на развитие на среда за Go
- Променливи, константи и типове
- Функции и множествени връщане на стойности
- Структури на управление: if, switch, for
- Масиви, срези и карти
- Структури и вграждане
- Методи и интерфейси
- Разбиране на указатели в Go
- Идиоми и шаблони за обработка на грешки
Конкуренция в Go
- Goрутини и планиращят Go runtime
- Канали и предаване на съобщения
- Изявления select
- Шаблони за конкуренция (разделяне на поток, събиране на поток, работни групи)
- Синхронизация (WaitGroups, Mutexes)
Използване на Стандартни и Често Използвани Пакети
- Работа с пакетите fmt, strings, time и math
- Вход-изход с файлове с os и io/ioutil
- HTTP клиенти и сървъри с net/http
- Разбиране и кодиране на JSON
Организация на Проекти и Go Модули
- Използване на Go модули за управление на зависимости
- Организиране на пакети и файлове
- Създаване и инсталиране на Go приложения
Go Инструменти
- Използване на gofmt и go vet за форматиране и проверка на код
- Изпълнение и писане на единични тестове с go test
- Измерване на производителност и профилиране с go test -bench и pprof
- Диагностика с Delve (опционално)
Резюме и Следващи Стъпки
- Най-добри практики за развитие на Go
- Обзор на Go уеб рамки и екосистема
- Ресурси за продължаващо обучение
Изисквания
- Познание на какъвто и да е език за програмиране (например, C, Java, Python, PHP, и т.н.).
- Този курс не обяснява основни концепции като цикъл или if-изразове – той се фокусира върху това как те се реализират в Go.
Целева аудитория
- Разработчици на софтуер, познати с други езици за програмиране
- Разработчици на бекенд, прехождащи към Go
- Инженери, работещи над облачни приложения или приложения с критично значение за производителността
Отзиви от потребители (6)
Практическите упражнения, които бяха наистина забавни.
Jurgen Cruz - Focus Engineering SRL
Курс - Go Programming Language for Programmers
Машинен превод
Тренерът познаваше специфични езиkovи концепции и имаше историческа перспектива за това, как езикът се променил от неговата първоначална дата на излъчване.
Brandon - DuosTechnologies, Inc.
Курс - Go Programming Language for Programmers
Машинен превод
Нивото на детайли относно механиката на защо и как нещата функционират беше полезно. Освен това много се радвах, че имах репозиторията, която мога да изтегля във всеки момент през деня, така че да мога да се концентрирам върху това, което обяснява.
Sara - DuosTechnologies, Inc.
Курс - Go Programming Language for Programmers
Машинен превод
Дидактичният начин на представяне
Ivo Abdul - CEDSIF Ministry of Finance
Курс - Go Programming Language for Programmers
Машинен превод
Концепции за обхвата, сечението, размяните,...
Edmundo Manave - CEDSIF Ministry of Finance
Курс - Go Programming Language for Programmers
Машинен превод
Простотата на езика и примерите, които учителят дава
Alvaro Salomao Rumbane - CEDSIF Ministry of Finance
Курс - Go Programming Language for Programmers
Машинен превод