Пакет flag в Go
С помощью небольшого мануала вы научитесь использовать пакет flag для создания различных утилит командной строки. Кроме того, в нем показана практика применения пакета flag для управления выводом программы, а также рассказано, как реализовывать подкоманды и вводить позиционные аргументы, в которых можно смешивать флаги и другие данные.
https://proglib.io/w/f5a50a26
С помощью небольшого мануала вы научитесь использовать пакет flag для создания различных утилит командной строки. Кроме того, в нем показана практика применения пакета flag для управления выводом программы, а также рассказано, как реализовывать подкоманды и вводить позиционные аргументы, в которых можно смешивать флаги и другие данные.
https://proglib.io/w/f5a50a26
💫 Инструментирование в Go
Рассказываем о методах инструментирования Go-кода, контекстной трассировке и специальном средстве лаконичного и гибкого инструментирования gtrace.
https://proglib.io/sh/l15apnJB4W
Рассказываем о методах инструментирования Go-кода, контекстной трассировке и специальном средстве лаконичного и гибкого инструментирования gtrace.
https://proglib.io/sh/l15apnJB4W
Инструментирование программ на Go чистым и гибким способом: https://proglib.io/w/bbaa1873
Что выведет программа?
Anonymous Quiz
6%
2 и 2
11%
9 и 100
45%
9 и 16
14%
Ошибка компиляции
14%
Нет правильного ответа
10%
Посмотреть результаты
В примере затронута тема анонимных функций, которые отличаются от обычных тем, что они могут определяться внутри других функций и иметь доступ к контексту выполнения, а также этим функциям не назначается имя.
Анонимные функции позволяют нам определить некоторое действие непосредственно там, где оно применяется. Например, нам надо выполнить сложение двух чисел, но больше нигде это действие в программе не нужно.
Анонимные функции могут использоваться как аргумент функции или как результат функции, а также они имеют доступ к окружению, в котором вызываются. Такая ситуация и рассматривается в примере.
Функция
Таким образом, мы можем зафисировать у внешней функции
Анонимные функции позволяют нам определить некоторое действие непосредственно там, где оно применяется. Например, нам надо выполнить сложение двух чисел, но больше нигде это действие в программе не нужно.
Анонимные функции могут использоваться как аргумент функции или как результат функции, а также они имеют доступ к окружению, в котором вызываются. Такая ситуация и рассматривается в примере.
Функция
square определяет локальную переменную x и возвращает анонимную функцию. Анонимная функция увеливичает значение переменной x и возвращает ее квадрат.Таким образом, мы можем зафисировать у внешней функции
square состояние в виде переменной x, которое будет изменяться в анонимной функции. В результате получаем 9 и 16.Погружение в goroutines и их размер: https://proglib.io/w/6e0a7965
tpaschalis.github.io
What is a goroutine? And what is their size?
I’m pretty sure that anyone learning Go has heard that “goroutines are like lightweight threads” and that “it’s okay to launch hundreds, thousands of goroutines”. Some people learn that “a goroutine takes up around 2 kilobytes”, most likely referencing the…
В статье разобраны причины, по которым использование пакета unsafe в Go может быть небезопасным: https://proglib.io/w/861850f1
Medium
Go: What is the Unsafe Package?
ℹ️ This article is based on Go 1.12.
Презентации и полная запись недавнего онлайн-митапа «Карантин, Go away»:
– Тестирование (микро)сервисов — Алексей Палажченко, Percona
– Dependency Injection and it’s friends (in Go) — Антон Кучеров, Toggl
– Чистая архитектура в автоматизации — Сергей Шамбир, iSpring
– Go-Swagger в продуктиве: взлеты и падения — Илья Казначеев, МТС
Полная запись на YouTube
– Тестирование (микро)сервисов — Алексей Палажченко, Percona
– Dependency Injection and it’s friends (in Go) — Антон Кучеров, Toggl
– Чистая архитектура в автоматизации — Сергей Шамбир, iSpring
– Go-Swagger в продуктиве: взлеты и падения — Илья Казначеев, МТС
Полная запись на YouTube
Изучаем Golang, разрабатывая простое приложение для банковской сферы:
– Начало
– Авторизация и REST API
– Начало
– Авторизация и REST API
DEV Community
Learn Golang by building a fintech banking app - Lesson1: Start the project
This post was originally published at: https://www.blog.duomly.com/golang-course-with-building-a-fint...
Сборник технических вопросов для собеседований, решенных с помощью Go: https://proglib.io/w/5deaef72
GitHub
GitHub - shomali11/go-interview: Collection of Technical Interview Questions solved with Go
Collection of Technical Interview Questions solved with Go - shomali11/go-interview
Forwarded from Go jobs — вакансии по Go
Вакансия: Lead Go developer
Компания: MillionAgents, один из ведущих игроков на рынке полевых исследований.
Мы собираем данные о товарах и ценах для крупных розничных сетей и производителей FMCG-товаров
Вилка: 230 000 - 270 000₽ на руки
Локация: офис, м. Новослободская, Москва
👨🎓 Требуемый опыт: Golang, gRPC, Redis, Linux / PostgreSQL / Go microservices.
Отлично, если вы работали с: Docker, имели опыт управления командой.
📌 Условия:
- График 5/2, начало рабочего дня с 10:00 - 12:00 часов;
- Возможность работать пару дней в неделю удаленно;
- Очередь технических задач;
- Технически грамотное руководство;
- Официальное трудоустройство
По всем вопросам можно писать в личные сообщения @svetafeeva
➡️ Подробности - https://proglib.io/vacancies/lead-go-developer-millionagents-2020-06-04
Компания: MillionAgents, один из ведущих игроков на рынке полевых исследований.
Мы собираем данные о товарах и ценах для крупных розничных сетей и производителей FMCG-товаров
Вилка: 230 000 - 270 000₽ на руки
Локация: офис, м. Новослободская, Москва
👨🎓 Требуемый опыт: Golang, gRPC, Redis, Linux / PostgreSQL / Go microservices.
Отлично, если вы работали с: Docker, имели опыт управления командой.
📌 Условия:
- График 5/2, начало рабочего дня с 10:00 - 12:00 часов;
- Возможность работать пару дней в неделю удаленно;
- Очередь технических задач;
- Технически грамотное руководство;
- Официальное трудоустройство
По всем вопросам можно писать в личные сообщения @svetafeeva
➡️ Подробности - https://proglib.io/vacancies/lead-go-developer-millionagents-2020-06-04
Что выведет программа?
Anonymous Quiz
36%
Ошибка компиляции
55%
30
2%
Нет правильного ответа
7%
Посмотреть результаты
Эта программа скомпилируется и выведет 30.
В строке 14 вышеупомянутой программы мы присваиваем адрес rect для r. Несмотря на то, что в строке 15 не использовался синтаксис (*r).area() и в связи с тем, что у area() есть получатель значения, Go способен интерпретировать r.area() как (*r).area(), что приводит к корректному выполнению.
В строке 14 вышеупомянутой программы мы присваиваем адрес rect для r. Несмотря на то, что в строке 15 не использовался синтаксис (*r).area() и в связи с тем, что у area() есть получатель значения, Go способен интерпретировать r.area() как (*r).area(), что приводит к корректному выполнению.
Разбираемся с реализацией интерфейсов на Go с помощью impl: https://proglib.io/w/bac69788
GitHub
GitHub - josharian/impl: impl generates method stubs for implementing an interface.
impl generates method stubs for implementing an interface. - josharian/impl
Викторина в большей степени на внимательность. Что выведет программа?
Anonymous Quiz
35%
2
41%
1005
16%
Ошибка компиляции
3%
Нет правильного ответа
5%
Посмотреть результаты
Интересной частью вышеупомянутой викторины является строка 12:
i,_: = strconv.Atoi(s)
Данный участок кода создает новую переменную i, область действия которой находится только в пределах оператора if. Переменная i, которая выводится в строке 15, фактически определена в строке 9, а не та, которая определена в строке 12. Следовательно, эта программа
Стоит также остановиться на строке 12, где происходит конвертация строк в числа.
Строки можно преобразовывать в цифры, используя пакет strconv в стандартной библиотеке Go. Пакет strconv содержит функции для преобразования integer и float. Это очень распространенная операция при получении ввода от пользователя. Например, если у вас есть программа, которая запрашивает возраст пользователя, и когда пользователь вводит данные, они сохраняются как string. Затем вам нужно будет преобразовать их в int, чтобы выполнять математические операции.
Если строка не имеет десятичных дробей, вы можете преобразовать ее в целое число, используя функцию strconv.Atoi. Если вы знаете, что будете использовать число типа float, вам следует использовать strconv.ParseFloat.
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
https://proglib.io/w/177c6e0a
The JetBrains Blog
GoLand 2020.2 Early Access Program Is Open! | The GoLand Blog
GoLand 2020.2 EAP starts today! We are aiming to pack this release with initial support for Go 1.15, polished and expanded Go Modules support, new code editing features, and much more. You can find a