Где можно найти код на языке Go и как это сделать?

Я студент, изучающий язык Go с целью получить свою первую работу. У меня есть опыт программирования с 9-го класса, включая создание ботов и веб-сайтов, но я столкнулся с трудностями в изучении Go для профессионального применения. 

Я пробовал реализовывать небольшие проекты, но они становились неинтересными из-за постоянного повторения однотипных задач (например, создание различных CRUD операций, интерфейсов для сервисов и репозиториев и т.д.). 

Мне трудно найти проект, который представлял бы собой стандарт разработки приложений на Go. Я замечаю, что в видео используются одни структуры проектов, в статьях — другие паттерны, которые могут критиковаться, а в книгах — плохие практики, о которых уже говорилось в других источниках.

Можете ли вы подсказать, где и как учить Go для разработки "реальных приложений"? Интересуют материалы, книги, статьи и репозитории, которые бы соответствовали стандартам индустрии.

Дополнительно, хотел бы узнать о текущих трендах: не ошибся ли я, выбрав Go для своей первой работы (слышал, что такие позиции часто требуют уровней мидл и выше)? Какой язык программирования вы бы посоветовали? На чем пишете сами и с каким языком нашли первую работу? Любые советы будут полезны. Спасибо.
  • 22 ноября 2024 г. 19:33
Ответы на вопрос 2
Изучение языка Go и поиск актуальных проектов для практики — это важные шаги на пути к вашей первой работе в IT. Вот несколько советов, которые могут помочь вам в этом процессе:

### Где найти код на Go

1. **GitHub**:
   - Поиск по репозиториям. Введите ключевые слова, такие как "golang", "go project", "go api" и т.д. Обратите внимание на популярные репозитории с большим количеством звезд и активным сообществом.
   - Попробуйте изучить код известных open-source проектов, например, [Kubernetes](https://github.com/kubernetes/kubernetes) или [Traefik](https://github.com/traefik/traefik).

2. **Awesome Go**:
   - Это собранный список библиотек и инструментов на Go. Посетите [Awesome Go](https://github.com/avelino/awesome-golang) для получения ссылок на различные проекты и библиотеки.

3. **Go by Example**:
   - Платформы, такие как [Go by Example](https://gobyexample.com/), предлагают простой и доступный способ изучения языка через примеры кода.

4. **Gophercises**:
   - [Gophercises](https://gophercises.com/) — сайт, предлагающий выбор практических заданий для изучения Go.

### Ресурсы для изучения Go

1. **Книги**:
   - "The Go Programming Language" от Alan A. A. Donovan и Brian W. Kernighan — одна из лучших книг по Go.
   - "Go in Action" от William Kennedy, Brian Ketelsen и Erik St. Martin — хорошее введение в практические аспекты Go.

2. **Онлайн-курсы**:
   - Платформы, такие как Udemy, Coursera и Pluralsight, предлагают множество курсов по Go. Например, курс "Go: The Complete Developer's Guide" на Udemy.

3. **Документация**:
   - Официальная документация Go ([golang.org/doc/](https://golang.org/doc/)) очень ценна. Обратите внимание на примеры и рекомендации.

4. **Статьи и блоги**:
   - Читайте статьи на Medium, dev.to, или личные блоги разработчиков. Они часто охватывают актуальные темы и примеры.

### Работа с реальными проектами

1. **Участие в Open Source**: 
   - Попробуйте участвовать в разработке open-source проектов на Go. Это не только поможет вам получить опыт, но и пополнит ваше портфолио.

2. **Личные проекты**:
   - Создавайте проекты, которые вас действительно интересуют. Например, API для проекта, который вам нравится или тулза для автоматизации рутинных задач. Решения, которые вам нужны или которые могут помочь другим, могут быть гораздо более интересными.

### Тренды и ожидания в индустрии

Go используется в больших проектах и поддерживается многими компаниями, особенно в создании микросервисов и распределённых систем. Уровень мидл и выше в большинстве случаев требует опыта работы с реальными проектами, поэтому постарайтесь максимально углубиться в практику.

Если вы ищете альтернативы, другие популярные языки — это Python, Java и JavaScript (особенно в контексте веб-разработки). Каждый из них имеет свои плюсы и минусы. Выбор языка зависит от ваших интересов и целей.

### Личные рекомендации

- Находите баланс между теорией и практикой. Создавайте небольшие, но интересные вам проекты.
- Изучите существующие паттерны проектирования для Go и postgresql, чтобы понимать, как строятся масштабируемые приложения.
- Общайтесь с другими разработчиками через форумы и сообщества, такие как Stack Overflow, Reddit или Discord.

Надеюсь, эти советы помогут вам в изучении Go и наберут необходимую практику для вашей карьеры. Успехов!
Это не школа - здесь нет экзаменов. 

Нету никакого стандарта: смотришь видео - используют одну структуру проекта, смотришь статью - используют другой паттерн

Для начала убеди себя, что ты знаешь язык, если ты не глуп - это окажется сложной задачей.
Мало tour of go, слишком мало.

Пригодится может всё.
Go - это про бэк больше, вот и смотри как с сетью работать, асинхронную разработку познавай (горутины), алгоритмы.

Напиши tcp, udp, websocket сервера, изучи сериализацию/десериализацию и т.д.
На счёт книг по go не знаю, но найти самому думаю не трудно.

не ошибка ли Go для первой работы

Изучи рынок и реши для себя сам. Кому-то и вордпрессы пол жизни ковырять нормально.
Похожие вопросы