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

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

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

Работать у нас: https://job.proglib.io/

Наши каналы: https://t.me/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Эта программа скомпилируется и выведет 30.

В строке 14 вышеупомянутой программы мы присваиваем адрес rect для r. Несмотря на то, что в строке 15 не использовался синтаксис (*r).area() и в связи с тем, что у area() есть получатель значения, Go способен интерпретировать r.area() как (*r).area(), что приводит к корректному выполнению.
Викторина в большей степени на внимательность. Что выведет программа?
Anonymous Quiz
35%
2
42%
1005
16%
Ошибка компиляции
3%
Нет правильного ответа
5%
Посмотреть результаты
Интересной частью вышеупомянутой викторины является строка 12:
i,_: = strconv.Atoi(s)

Данный участок кода создает новую переменную i, область действия которой находится только в пределах оператора if. Переменная i, которая выводится в строке 15, фактически определена в строке 9, а не та, которая определена в строке 12. Следовательно, эта программа выведет 2.

Стоит также остановиться на строке 12, где происходит конвертация строк в числа.

Строки можно преобразовывать в цифры, используя пакет strconv в стандартной библиотеке Go. Пакет strconv содержит функции для преобразования integer и float. Это очень распространенная операция при получении ввода от пользователя. Например, если у вас есть программа, которая запрашивает возраст пользователя, и когда пользователь вводит данные, они сохраняются как string. Затем вам нужно будет преобразовать их в int, чтобы выполнять математические операции.

Если строка не имеет десятичных дробей, вы можете преобразовать ее в целое число, используя функцию strconv.Atoi. Если вы знаете, что будете использовать число типа float, вам следует использовать strconv.ParseFloat.
Программа раннего доступа к GoLand 2020.2 открыта: вас ждет начальная поддержка Go 1.15, улучшенная и расширенная поддержка Go Modules, новые функции редактирования кода и многое другое.

https://proglib.io/w/177c6e0a
Go-yaml — библиотека, предназначенная для работы с форматом yaml в Go. Как заявляют авторы, имеет ряд преимуществ над существующей. Так или иначе, она заслуживает вашего внимания.

https://proglib.io/w/3c4dba29
Выражение a[low : high : max] является одним из способов создать срез и называется полным выражением срезов.

Оно строит срез того же типа, с той же длиной и элементами, что и простое выражение среза a[low:high]. Кроме того, оно контролирует ёмкость результирующего среза, устанавливая её следующим образом: max - low. Ёмкость (функция cap в Go) — это количество элементов в базовом массиве (начиная с элемента, на который ссылается указатель среза). Длина среза (функция len в Go) определяется как high - low.

Следовательно, срез t в строке 9 имеет длину 1 (элемент 4) и ёмкость 1.
Преимущества, которые вы как разработчик и ваши пользователи получаете от использования чистой архитектуры при разработке программы, очевидны: итоговая бизнес-логика, которая не заботится о том, какая используется СУБД; используется ли CLI, REST API или gRPC; какой используется фреймворк и так далее.

В данной статье автор делится своим подходом к построению чистой архитектуры: https://proglib.io/w/63955949
Деплой Golang-приложения в Kubernetes на DigitalOcean: учимся помещать приложение в Docker-контейнер, разворачивать в кластере Kubernetes и создавать средство балансировки нагрузки, которое будет служить точкой входа в приложение с общим доступом.

https://proglib.io/w/e6181a85
​​Фильм Microsoft Build 2020: главные новинки IT-индустрии

Рассказ и видео о последних новинках от компании Microsoft. Суперкомпьютеры, безопасное машинное обучение, Learn TV, Fluid Framework и многое другое – будьте в курсе инноваций!

https://proglib.io/sh/RSsI59cBpz
Значение Unicode для A равно 65. Следовательно, когда i является типом, приведенным к строке (строка 9), программа выведет А.