├── .gitignore ├── README.md ├── Часть 1. Основы программирования ├── 1. Первая программа │ ├── 1. Пустая программа │ │ └── main.go │ ├── 2. fmt.Println │ │ └── main.go │ └── 3. fmt.Print │ │ └── main.go ├── 10. Массивы Слайсы Мапы │ ├── 1. Массив │ │ └── main.go │ ├── 2. Слайс │ │ ├── go.mod │ │ ├── go.sum │ │ └── main.go │ └── 3. Мапа │ │ └── main.go ├── 11. Пользовательский ввод │ └── 1. Чтение пользовательского ввода │ │ └── main.go ├── 2. Переменные │ ├── 1. Создание переменных через короткую запись │ │ └── main.go │ ├── 2. Создание переменных через длинную запись │ │ └── main.go │ └── 3. Операции над переменными │ │ └── main.go ├── 3. Условные ветвления │ ├── 1. if-else │ │ └── main.go │ ├── 2. if-elseif-else │ │ └── main.go │ ├── 3. Оператор ИЛИ │ │ └── main.go │ ├── 4. Оператор И │ │ └── main.go │ └── 5. Оператор логического отрицания │ │ └── main.go ├── 4. Циклы │ ├── 1. Обычный цикл for │ │ └── main.go │ ├── 2. Flappy Bird симуляция │ │ └── main.go │ ├── 3. Flappy Bird генерация уровней │ │ └── main.go │ └── 4. Flappy Bird продвинутая симуляция │ │ └── main.go ├── 5. Функции │ ├── 1. Функция ничего не принимает и ничего не возвращает │ │ └── main.go │ ├── 2. Функция принимает значение, но ничего не возвращает │ │ └── main.go │ ├── 3. Изменение значений внутри функций │ │ └── main.go │ ├── 4. Функция принимает и возвращает какие-то значения │ │ └── main.go │ ├── 5. return в функции, которая ничего не возвращает │ │ └── main.go │ └── 6. Глобальные переменные │ │ └── main.go ├── 6. defer() │ ├── 1. Обычный defer() │ │ └── main.go │ ├── 2. Множественный defer() │ │ └── main.go │ └── 3. defer() в других функциях │ │ └── main.go ├── 7. Указатели │ ├── 1. Принятие указателя в функции │ │ └── main.go │ ├── 2. Изменение значения переменной через указатель │ │ └── main.go │ └── 3. nil pointer │ │ └── main.go ├── 8. Структуры │ ├── 1. Структура User без методов │ │ └── main.go │ ├── 2. Ресивер по значению и по указателю │ │ └── main.go │ └── 3. Структура User с методами и конструктором │ │ └── main.go └── 9. Модули и пакеты │ ├── 1. Простой модуль из одного main-пакета │ ├── go.mod │ ├── go.sum │ └── main.go │ └── 2. Модуль с пакетами │ ├── go.mod │ ├── go.sum │ ├── greeting │ ├── foo │ │ └── somefile.go │ ├── givemeint.go │ └── greeting.go │ ├── main.go │ └── user │ ├── human.go │ └── user.go └── Часть 2. Продвинутый Golang и REST API ├── 1. Интерфейсы ├── 1. Простой пример. Интерфейс Auto. │ └── main.go └── 2. Модуль проведения оплат │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── payments │ ├── info.go │ ├── methods │ ├── bank.go │ ├── crypto.go │ └── paypal.go │ └── payments.go ├── 10. Гонка данных. Атомики. Мьютексы. ├── 1. Гонка данных при увеличении целочисленной переменной │ └── main.go ├── 2. Атомики │ └── main.go ├── 3. Гонка данных при добавлении новых элементов в слайс │ └── main.go └── 4. Мьютексы │ └── main.go ├── 11. RWMutex └── 1. Ставим лайки │ └── main.go ├── 12. Concurrency большой пример └── 1. Пример │ ├── go.mod │ ├── main.go │ ├── miner │ └── miner.go │ └── postman │ └── postman.go ├── 13. Первый HTTP сервер ├── 1. Hello, World! │ └── main.go ├── 2. Несколько хендлеров │ └── main.go └── 3. Спящий хендлер │ └── main.go ├── 14. Тело HTTP запроса ├── 1. Простое чтение тела HTTP запроса │ └── main.go └── 2. Управление финансами │ └── main.go ├── 15. Тело HTTP ответа и HTTP статус коды ├── 1. Простая отправка HTTP ответа │ └── main.go ├── 2. Просто отправка нестандартных HTTP статус кодов в ответе │ └── main.go └── 3. Управление финансами │ └── main.go ├── 16. HTTP хеддеры └── 1. Чтение HTTP хеддеров │ └── main.go ├── 17. HTTP методы ├── 1. Получение HTTP метода │ └── main.go └── 2. Обработка запросов только на определённом методе │ └── main.go ├── 18. JSON └── 1. Приём и передача комплексной информации по HTTP │ └── main.go ├── 19. Query параметры └── 1. Чтение query параметров │ └── main.go ├── 2. Обработка ошибок ├── 1. Функция возвращает только ошибку │ ├── go.mod │ ├── go.sum │ └── main.go └── 2. Функция возвращает значение и ошибку │ ├── go.mod │ ├── go.sum │ └── main.go ├── 20. REST API. Теория и практика. └── 1. Список дел │ ├── go.mod │ ├── go.sum │ ├── http │ ├── dto.go │ ├── handlers.go │ └── server.go │ ├── main.go │ └── todo │ ├── errors.go │ ├── list.go │ └── task.go ├── 3. Паника ├── 1. Обращение к несущствующему элементу в слайсе │ └── main.go ├── 2. Деление на ноль │ └── main.go └── 3. Поимка паники │ └── main.go ├── 4. Горутины и каналы ├── 1. Один шахтёр │ └── main.go └── 2. Несколько шахтёров │ └── main.go ├── 5. Анонимные функции в горутинах └── 1. Пример анонимной функции в горутине │ └── main.go ├── 6. Конструкция select {} ├── 1. Ожидание значений из двух каналов │ └── main.go ├── 2. Ожидание сообщений от двух друзей │ └── main.go └── 3. select + default │ └── main.go ├── 7. Закрытие каналов. Аксиомы каналов. ├── 1. Закрытие канала │ └── main.go ├── 2. Закрытие закрытого канала │ └── main.go ├── 3. Чтение из закрытого канала │ └── main.go ├── 4. Запись в закрытый канал │ └── main.go ├── 5. Осмысленное закрытие канала │ └── main.go ├── 6. Закрытие nil канала │ └── main.go └── 7. Чтение из nil канала. Запись в nil канал. │ └── main.go ├── 8. Контекст └── 1. Контроль выполнения разных групп горутин │ └── main.go └── 9. WaitGroup └── 1. Ожидание почтальонов └── main.go /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_STORE 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/README.md -------------------------------------------------------------------------------- /Часть 1. Основы программирования/1. Первая программа/1. Пустая программа/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/1. Первая программа/1. Пустая программа/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/1. Первая программа/2. fmt.Println/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/1. Первая программа/2. fmt.Println/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/1. Первая программа/3. fmt.Print/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/1. Первая программа/3. fmt.Print/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/10. Массивы Слайсы Мапы/1. Массив/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/10. Массивы Слайсы Мапы/1. Массив/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/10. Массивы Слайсы Мапы/2. Слайс/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/10. Массивы Слайсы Мапы/2. Слайс/go.mod -------------------------------------------------------------------------------- /Часть 1. Основы программирования/10. Массивы Слайсы Мапы/2. Слайс/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/10. Массивы Слайсы Мапы/2. Слайс/go.sum -------------------------------------------------------------------------------- /Часть 1. Основы программирования/10. Массивы Слайсы Мапы/2. Слайс/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/10. Массивы Слайсы Мапы/2. Слайс/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/10. Массивы Слайсы Мапы/3. Мапа/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/10. Массивы Слайсы Мапы/3. Мапа/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/11. Пользовательский ввод/1. Чтение пользовательского ввода/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/11. Пользовательский ввод/1. Чтение пользовательского ввода/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/2. Переменные/1. Создание переменных через короткую запись/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/2. Переменные/1. Создание переменных через короткую запись/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/2. Переменные/2. Создание переменных через длинную запись/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/2. Переменные/2. Создание переменных через длинную запись/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/2. Переменные/3. Операции над переменными/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/2. Переменные/3. Операции над переменными/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/3. Условные ветвления/1. if-else/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/3. Условные ветвления/1. if-else/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/3. Условные ветвления/2. if-elseif-else/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/3. Условные ветвления/2. if-elseif-else/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/3. Условные ветвления/3. Оператор ИЛИ/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/3. Условные ветвления/3. Оператор ИЛИ/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/3. Условные ветвления/4. Оператор И/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/3. Условные ветвления/4. Оператор И/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/3. Условные ветвления/5. Оператор логического отрицания/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/3. Условные ветвления/5. Оператор логического отрицания/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/4. Циклы/1. Обычный цикл for/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/4. Циклы/1. Обычный цикл for/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/4. Циклы/2. Flappy Bird симуляция/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/4. Циклы/2. Flappy Bird симуляция/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/4. Циклы/3. Flappy Bird генерация уровней/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/4. Циклы/3. Flappy Bird генерация уровней/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/4. Циклы/4. Flappy Bird продвинутая симуляция/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/4. Циклы/4. Flappy Bird продвинутая симуляция/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/5. Функции/1. Функция ничего не принимает и ничего не возвращает/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/5. Функции/1. Функция ничего не принимает и ничего не возвращает/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/5. Функции/2. Функция принимает значение, но ничего не возвращает/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/5. Функции/2. Функция принимает значение, но ничего не возвращает/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/5. Функции/3. Изменение значений внутри функций/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/5. Функции/3. Изменение значений внутри функций/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/5. Функции/4. Функция принимает и возвращает какие-то значения/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/5. Функции/4. Функция принимает и возвращает какие-то значения/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/5. Функции/5. return в функции, которая ничего не возвращает/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/5. Функции/5. return в функции, которая ничего не возвращает/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/5. Функции/6. Глобальные переменные/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/5. Функции/6. Глобальные переменные/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/6. defer()/1. Обычный defer()/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/6. defer()/1. Обычный defer()/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/6. defer()/2. Множественный defer()/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/6. defer()/2. Множественный defer()/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/6. defer()/3. defer() в других функциях/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/6. defer()/3. defer() в других функциях/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/7. Указатели/1. Принятие указателя в функции/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/7. Указатели/1. Принятие указателя в функции/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/7. Указатели/2. Изменение значения переменной через указатель/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/7. Указатели/2. Изменение значения переменной через указатель/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/7. Указатели/3. nil pointer/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/7. Указатели/3. nil pointer/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/8. Структуры/1. Структура User без методов/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/8. Структуры/1. Структура User без методов/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/8. Структуры/2. Ресивер по значению и по указателю/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/8. Структуры/2. Ресивер по значению и по указателю/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/8. Структуры/3. Структура User с методами и конструктором/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/8. Структуры/3. Структура User с методами и конструктором/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/1. Простой модуль из одного main-пакета/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/1. Простой модуль из одного main-пакета/go.mod -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/1. Простой модуль из одного main-пакета/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/1. Простой модуль из одного main-пакета/go.sum -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/1. Простой модуль из одного main-пакета/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/1. Простой модуль из одного main-пакета/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/go.mod -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/go.sum -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/greeting/foo/somefile.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/greeting/foo/somefile.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/greeting/givemeint.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/greeting/givemeint.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/greeting/greeting.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/greeting/greeting.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/main.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/user/human.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/user/human.go -------------------------------------------------------------------------------- /Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 1. Основы программирования/9. Модули и пакеты/2. Модуль с пакетами/user/user.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/1. Простой пример. Интерфейс Auto./main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/1. Простой пример. Интерфейс Auto./main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/go.mod -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/go.sum -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/info.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/info.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/methods/bank.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/methods/bank.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/methods/crypto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/methods/crypto.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/methods/paypal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/methods/paypal.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/payments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/1. Интерфейсы/2. Модуль проведения оплат/payments/payments.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./1. Гонка данных при увеличении целочисленной переменной/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./1. Гонка данных при увеличении целочисленной переменной/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./2. Атомики/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./2. Атомики/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./3. Гонка данных при добавлении новых элементов в слайс/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./3. Гонка данных при добавлении новых элементов в слайс/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./4. Мьютексы/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/10. Гонка данных. Атомики. Мьютексы./4. Мьютексы/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/11. RWMutex/1. Ставим лайки/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/11. RWMutex/1. Ставим лайки/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/go.mod: -------------------------------------------------------------------------------- 1 | module concurrency 2 | 3 | go 1.24.1 4 | -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/miner/miner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/miner/miner.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/postman/postman.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/12. Concurrency большой пример/1. Пример/postman/postman.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/13. Первый HTTP сервер/1. Hello, World!/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/13. Первый HTTP сервер/1. Hello, World!/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/13. Первый HTTP сервер/2. Несколько хендлеров/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/13. Первый HTTP сервер/2. Несколько хендлеров/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/13. Первый HTTP сервер/3. Спящий хендлер/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/13. Первый HTTP сервер/3. Спящий хендлер/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/14. Тело HTTP запроса/1. Простое чтение тела HTTP запроса/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/14. Тело HTTP запроса/1. Простое чтение тела HTTP запроса/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/14. Тело HTTP запроса/2. Управление финансами/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/14. Тело HTTP запроса/2. Управление финансами/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/15. Тело HTTP ответа и HTTP статус коды/1. Простая отправка HTTP ответа/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/15. Тело HTTP ответа и HTTP статус коды/1. Простая отправка HTTP ответа/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/15. Тело HTTP ответа и HTTP статус коды/2. Просто отправка нестандартных HTTP статус кодов в ответе/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/15. Тело HTTP ответа и HTTP статус коды/2. Просто отправка нестандартных HTTP статус кодов в ответе/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/15. Тело HTTP ответа и HTTP статус коды/3. Управление финансами/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/15. Тело HTTP ответа и HTTP статус коды/3. Управление финансами/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/16. HTTP хеддеры/1. Чтение HTTP хеддеров/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/16. HTTP хеддеры/1. Чтение HTTP хеддеров/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/17. HTTP методы/1. Получение HTTP метода/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/17. HTTP методы/1. Получение HTTP метода/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/17. HTTP методы/2. Обработка запросов только на определённом методе/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/17. HTTP методы/2. Обработка запросов только на определённом методе/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/18. JSON/1. Приём и передача комплексной информации по HTTP/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/18. JSON/1. Приём и передача комплексной информации по HTTP/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/19. Query параметры/1. Чтение query параметров/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/19. Query параметры/1. Чтение query параметров/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/1. Функция возвращает только ошибку/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/1. Функция возвращает только ошибку/go.mod -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/1. Функция возвращает только ошибку/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/1. Функция возвращает только ошибку/go.sum -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/1. Функция возвращает только ошибку/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/1. Функция возвращает только ошибку/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/2. Функция возвращает значение и ошибку/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/2. Функция возвращает значение и ошибку/go.mod -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/2. Функция возвращает значение и ошибку/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/2. Функция возвращает значение и ошибку/go.sum -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/2. Функция возвращает значение и ошибку/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/2. Обработка ошибок/2. Функция возвращает значение и ошибку/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/go.mod: -------------------------------------------------------------------------------- 1 | module restapi 2 | 3 | go 1.24.1 4 | 5 | require github.com/gorilla/mux v1.8.1 6 | -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/go.sum -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/http/dto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/http/dto.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/http/handlers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/http/handlers.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/http/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/http/server.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/todo/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/todo/errors.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/todo/list.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/todo/list.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/todo/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/20. REST API. Теория и практика./1. Список дел/todo/task.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/3. Паника/1. Обращение к несущствующему элементу в слайсе/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/3. Паника/1. Обращение к несущствующему элементу в слайсе/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/3. Паника/2. Деление на ноль/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/3. Паника/2. Деление на ноль/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/3. Паника/3. Поимка паники/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/3. Паника/3. Поимка паники/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/4. Горутины и каналы/1. Один шахтёр/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/4. Горутины и каналы/1. Один шахтёр/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/4. Горутины и каналы/2. Несколько шахтёров/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/4. Горутины и каналы/2. Несколько шахтёров/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/5. Анонимные функции в горутинах/1. Пример анонимной функции в горутине/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/5. Анонимные функции в горутинах/1. Пример анонимной функции в горутине/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/6. Конструкция select {}/1. Ожидание значений из двух каналов/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/6. Конструкция select {}/1. Ожидание значений из двух каналов/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/6. Конструкция select {}/2. Ожидание сообщений от двух друзей/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/6. Конструкция select {}/2. Ожидание сообщений от двух друзей/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/6. Конструкция select {}/3. select + default/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/6. Конструкция select {}/3. select + default/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./1. Закрытие канала/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./1. Закрытие канала/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./2. Закрытие закрытого канала/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./2. Закрытие закрытого канала/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./3. Чтение из закрытого канала/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./3. Чтение из закрытого канала/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./4. Запись в закрытый канал/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./4. Запись в закрытый канал/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./5. Осмысленное закрытие канала/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./5. Осмысленное закрытие канала/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./6. Закрытие nil канала/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./6. Закрытие nil канала/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./7. Чтение из nil канала. Запись в nil канал./main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/7. Закрытие каналов. Аксиомы каналов./7. Чтение из nil канала. Запись в nil канал./main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/8. Контекст/1. Контроль выполнения разных групп горутин/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/8. Контекст/1. Контроль выполнения разных групп горутин/main.go -------------------------------------------------------------------------------- /Часть 2. Продвинутый Golang и REST API/9. WaitGroup/1. Ожидание почтальонов/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nilchan-social/golang-full-course/HEAD/Часть 2. Продвинутый Golang и REST API/9. WaitGroup/1. Ожидание почтальонов/main.go --------------------------------------------------------------------------------