Путь
/Программирование/Языки/Golang
1. Основы языка
-
Установка и настройка окружения
- Установка Go
- Настройка GOPATH и GOROOT
-
Синтаксис
- Переменные и константы
- Типы данных (int, float, string, bool и т.д.)
- Операторы (арифметические, логические, побитовые)
-
Управляющие конструкции
- Условия (if, else, switch)
- Циклы (for, break, continue)
- Функции (определение, параметры, возвращаемые значения)
2. Углубленное изучение
-
Структуры и методы
- Определение структур (struct)
- Методы структур
- Встраивание (embedding)
-
Интерфейсы
- Определение интерфейсов (interface)
- Реализация интерфейсов
- Пустой интерфейс и приведение типов
-
Ошибки
- Обработка ошибок (error)
- Пакет errors
- Пользовательские ошибки
3. Пакеты и модули
-
Работа с пакетами
- Импорт пакетов
- Создание собственных пакетов
-
Модули
- Создание модулей
- Управление зависимостями (go.mod, go.sum)
4. Работа с данными
-
Массивы, срезы и карты
- Определение массивов и срезов
- Работа с срезами (append, copy, len, cap)
- Карты (map) и операции с ними
-
Строки и руны
- Работа со строками
- Руны и UTF-8
5. Взаимодействие с ОС и файлами
-
Ввод/вывод
-
- Чтение и запись файлов
- Работа с консолью (fmt, bufio)
-
Пакет os
- Файловая система (os.File, os.Open, os.Create)
- Переменные окружения и команды
6. Сетевое программирование
-
Основы сетевого программирования
- Пакет net
- Создание клиент-серверных приложений (TCP/UDP)
-
HTTP
- Пакет net/http
- Создание HTTP-серверов и клиентов
7. Параллельное программирование
-
Горутины и каналы
- Запуск горутин
- Синхронизация с помощью каналов (chan)
-
Пакет sync
- Mutex, WaitGroup, Once
8. Тестирование
-
Пакет testing
- Написание тестов
- Запуск тестов (go test)
-
Покрытие тестами
- Генерация отчетов покрытия (go test -cover)
9. Работа с внешними библиотеками
- Подключение внешних библиотек
- Управление зависимостями (go get)
- Использование популярных библиотек (например, gin для веб-сервисов)
10. Оптимизация и отладка
-
Профилирование
- Инструменты профилирования (pprof)
-
Отладка
-
- Использование отладчиков (dlv - Delve)
11. Развёртывание и контейнеризация
-
Сборка проекта
- Компиляция и сборка бинарников
-
Docker
- Создание Docker-образов
- Развёртывание приложений в контейнерах
Короче, хватай эту инфу и копайся по порядку. Тогда точно будешь шарить в Go и сможешь творить настоящие хакерские дела!