Библиотека Go-разработчика | Golang
23.3K subscribers
2.07K photos
42 videos
87 files
4.45K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Go-разработчик с нуля всего за год!

Нравится программирование, но не можешь разобраться во всем самостоятельно? Мы поможем освоить новую профессию и расскажем, как найти высокооплачиваемую работу после обучения!
Переходи по ссылке и регистрируйся ▶️ https://clc.to/rQhbFg

На курсе «Профессия Go-разработчик» ты получишь базовые знания программирования, а также подробное обучение по работе с Golang. Пройдя обучающий курс, ты создашь крутое портфолио и сможешь претендовать на должность junior-программиста. А еще, дарим 2 месяца бесплатного английского в онлайн школе «EnglishDom»

Первым 20 студентам скидка 40% на обучение!
Для работы с ядром и системными I/O-вызовами в Go есть специальный интерфейс io_uring. В статье показано, как с ним работать и в чем заключаются его особенности.

https://proglib.io/w/9a4460ef
Вы знаете, что строки в Go неизменны. Как только строка создана, её невозможно изменить.

В строке 8 мы пытаемся изменить первый символ строки на «а». Любой символ Unicode в одинарной кавычке является руной. Мы пытаемся назначить руну а нулевой позиции среза. Это недопустимо, поскольку строка является неизменной, и, следовательно, такая программа скомпилируется с ошибкой.

Чтобы обойти неизменность строки, их преобразуют в срез руны. Затем этот фрагмент мутирует с любыми необходимыми изменениями и преобразуется обратно в новую строку.

Обратите внимание на картинку, прикреплённую к посту. В строке 7 приведенной программы функция mutate принимает срез руны в качестве аргумента. Затем она изменяет первый элемент среза на «а», преобразовывает руну обратно в строку и возвращает её. Этот метод вызывается из строки 13 программы. Переменная h преобразуется в срез руны и передаётся для изменения в строке 13, что приводит к корректной работе и выводу aello.
Hands_On_GUI_Application_Development_in_Go_by_Andrew_Williams_z.epub
16 MB
Hands-On GUI Application Development in Go (2019)

Автор(ы): Andrew Williams

С помощью книги вы откроете для себя библиотеки GUI Golang, такие как Go-GTK (GIMP Toolkit) и Go-Qt, и научитесь создавать красивые, производительные и отзывчивые графические приложения.

В книге рассматриваются лучшие практики работы с доступными наборами инструментов, включая Walk, Shiny и Fyne.

В конечном итоге вы изучите преимущества и сложности создания собственных графических приложений на Go, получите представление о том, как Go упрощает разработку кроссплатформенных графических приложений, научитесь разрабатывать графические приложения для Windows с использованием Walk и многое другое.
👍1
Вы знаете, что Github Actions позволяют упростить жизнь разработчику, т. к. обеспечивают автоматизацию рабочего процесса. В этом видеоуроке вы узнаете, как можно добавить невероятно полезные GitHub Actions в свои проекты на Go.

https://proglib.io/w/919f7e3d
Команда Go предложила более простой дизайн дженериков: новость об этом и само описание.

Для экономии времени можно прочитать краткое руководство по новому дизайну дженериков Go: https://proglib.io/w/de45b19d
GolangQuiz - канал на котором публикуются интересные задачи и вопросы по Go и их разбор.
​​🚴 Паттерны Go-кода на все случаи жизни

Cортировки и битовые маски, обработка ошибок и создание изображений, генерация перестановок и работа с хэш-суммами, запуск HTTP-сервера, юнит-тесты и другие распространенные задачи, решаемые с помощью Go.

https://proglib.io/sh/tAslm0UR9V
Оператор & используется для получения адреса переменной. В строке 9 программы мы присваиваем адрес b типу a *int. В таком случае говорят, что a указывает на b. Когда мы выводим значение в a, будет выведен адрес b. В итоге получаем:
Тип a: *int
Адрес b: 0xc0000b4020

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

Зачастую она используется для упрощения рефакторинга кода, изучения кодовой базы и поиска подозрительного кода. Автор статьи в подробностях разобрался с утилитой и поделился практическим опытом.

https://proglib.io/w/eb89f1cf
​​👨‍💻 Как выбрать сервер для 1С

Рассказываем, как выбрать сервер для продуктов 1С в зависимости от числа активных пользователей и других требований к системе.

https://proglib.io/sh/bL4TeHxcQy
Существуют разные способы установления безопасного соединения TLS с помощью Go и gRPC. Вопреки распространенному мнению, вам не нужно вручную предоставлять сертификат сервера вашему клиенту gRPC для шифрования. В статье представлен список примеров кода для разных сценариев. Исходный код доступен в репозитории.
Если кому-то необходимо освежить в памяти основы Golang, например, перед собеседованием, то вот отличый вариант, хоть и может показаться неактуальным по времени: https://proglib.io/w/79391e19
Действительно, как узнать, что ты написал на Go хороший код? Если есть какая-то шкала между хорошо и плохо, то как понять, какие части шкалы относятся к хорошему? Каковы его свойства, атрибуты, отличительные признаки, паттерны и идиомы? Ответы на эти вопросы можно найти в переведённой на русский статье с многообещающим названием «Дзен Go».

https://proglib.io/w/8af37e8e
Данная программа выводит 333. Как необходимо изменить код, чтобы в результате вывести на экран 012?
​​Для получения 012 в результате выполнения программы достаточно изменить две строки, как показано ниже (строка 9 и 10). Это один из вариантов реализации, не являющийся единственным верным.