План на курса
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
- Инженери, работещи над облачни приложения или приложения с критично значение за производителността
Oтзиви от потребители (6)
Практическите упражнения, които бяха наистина забавни.
Jurgen Cruz - Focus Engineering SRL
Курс - Go Programming Language for Programmers
Машинен превод
Обучаващият познаваше концепциите за езикови ниши и имаше историческа гледна точка за това как езикът се е променил от първоначалната си дата на пускане.
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
Машинен превод