Публикации по теме 'golang'


LeetCode — Найти исходный массив префикса XOR
Постановка задачи Вам дан целочисленный массив pref размера n . Найдите и верните массив arr размера n, который удовлетворяет : - pref[i] = arr[0] ^ arr[1] ^ ... ^ arr[i]. Обратите внимание, что ^ обозначает операцию побитового исключающего ИЛИ. Можно доказать, что ответ единственный. Постановка задачи взята с: https://leetcode.com/problems/find-the-original-array-of-prefix-xor Пример 1: Input: pref = [5, 2, 0, 3, 1] Output: [5, 7, 2, 3, 2] Explanation: From the array..

Go Puzzlers: сравнение значений ошибок
В Go ошибки — это значения , так как у них есть значение и тип, как и у всего остального. Это отличается от таких языков, как Java или Python, где ошибки являются исключительными вещами (каламбур), которые требуют специальной обработки и синтаксиса языка, например try / catch . Поскольку в Go ошибки — это просто значения, мы обрабатываем их, сравнивая с другими значениями. Тут есть свои тонкости — поэтому и эта статья. № 1 — Прямое сравнение новых ошибок Что выводит этот код? //..

Как использовать приложение на стороне сервера в операторах K8S
Узнайте о преимуществах SSA по сравнению с CSA Операторы — это программные расширения для Kubernetes, которые используют «пользовательские ресурсы для управления приложениями и их компонентами». https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ Шаблон оператора — это то, на что мы можем положиться, когда есть задачи, которые родные ресурсы, такие как Deployment и Pod , не могут выполнить: CRD позволяет добавлять различные поля; webhook выполняет проверку и..

Golang: работа с байтами и bufio
При работе с данными в Golang разработчикам часто требуется чтение и запись из различных источников, таких как файлы или сетевые подключения. Golang предоставляет два мощных пакета, bytes и bufio , для упрощения и оптимизации этих задач. В этой статье мы рассмотрим некоторые интересные аспекты работы с bytes и bufio в Golang и выделим их ключевые отличия. Пакет байтов Пакет bytes в Golang предоставляет функции для управления байтовыми слайсами. Это особенно полезно для..

Окончательная установка для вашего следующего проекта Golang
Примечание. Изначально это было размещено на martinheinz.dev Для меня самой большой проблемой при запуске нового проекта всегда была попытка настроить проект «идеально» . Я всегда стараюсь использовать лучшую структуру каталогов, чтобы все было легко найти, а импорт работал хорошо, настраиваю все команды так, чтобы я всегда находился на расстоянии одного щелчка / команды от желаемого действия, находил лучший линтер, форматировщик, среду тестирования для языка / библиотека,..

Использование каналов в GO
При работе с Golang мы используем каналы, чтобы упростить работу без рутинных операций. Это самый простой пример использования канала Https://play.golang.org/p/iy9QealMxcT Ссылка на игровую площадку для этой цели. В этом примере вы знаете, сколько integers вы отправляете на канал и сколько получаете. строка 12: numberCh <-i означает, что мы отправляем целое число на канал строка 16: <- numberCh означает, что мы получаем значение из канала Это также можно..

Как использовать кэширование в памяти в вашем приложении Golang
Кэширование данных в памяти имеет множество преимуществ: Это уменьшает количество запросов, отправляемых в основную базу данных. Это повышает производительность, поскольку извлечение данных из первичной базы данных происходит медленнее, чем из памяти. Это уменьшает количество внешних вызовов API, если данные изначально получены из другого веб-сервиса. Для кэширования существует несколько решений уровня предприятия, которые обычно используются, например Redis и Memcached. Тем не..