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


Тесты инициализации и передачи переменных Go
Кажется сложным написать целую статью о том, как инициализировать переменную и передавать ее через функции в Go. Дело в том, что это можно сделать несколькими способами. Начнем с примера struct myStruct. и интерфейс myInterface: const arraySize int64 = 1024 * 1024 * 1024 type myStruct struct { n int b [ arraySize ]byte } func (m * myStruct) N() int { return m.n } func (m * myStruct) set(n int) { m.n = n } type myInterface interface { N() int set(n..

Переосмысление параллелизма в Go, простота заходит далеко.
Go, разработанный Google, задумывался как язык, использующий преимущества современных компьютеров (и кластеров компьютеров) для более быстрого выполнения параллельного и асинхронного кода с простой семантикой. Однако многие из первоначальных идей и шаблонов были усовершенствованы, упрощены и улучшены. В разделах Основы параллельных вычислений в Go и Дополнительная информация о каналах Go, параллелизме и параллелизме» мы рассмотрели некоторые основные понятия параллелизма и..

Черновая функция Golang 2.0 — Обработка ошибок
Golang в настоящее время имеет версию 1.17 (январь 2022 г.). Несмотря на то, что неясно, когда будет выпущен Golang 2.0 и какие функции он включает, есть несколько интересных черновиков, и весьма вероятно, что по крайней мере некоторые из этих черновиков будут частью Golang 2.0. В этой серии я подытожу основные функции Golang 2.0, и мы начнем с обработки ошибок. Обработка ошибок Обработка ошибок в Golang — одна из самых обсуждаемых тем. Прямо сейчас Golang заставляет вас — и это..

Быстро создавайте выборочный конвейер CI/CD с помощью CircleCI
В этой статье я расскажу о том, как быстро построить конвейер, который будет выборочно запускать команды в разных каталогах репозитория только в случае обнаружения изменений. В этой статье я предполагаю некоторые базовые знания CircleCI, однако я пройду весь процесс с самого начала настройки проекта. Настройка проекта Начните с входа в CircleCi, в этом примере я войду с помощью Github SSO и выберу проект, для которого вы хотите настроить конвейер. Здесь вам предоставляется несколько..

Подробное изучение пакета карт Go 1.21
Введение В области программирования Go версия 1.21 представляет новый взгляд на пакет Maps. Являясь краеугольным камнем манипулирования данными, карты обеспечивают эффективное хранение и извлечение данных типа «ключ-значение». В этой статье мы рассмотрим расширенные функции пакета карт Go 1.21, которые позволят вам использовать его потенциал для упрощения кодирования и управления данными. Присоединяйтесь к нам в путешествии по царству ключевого значения с пакетом карт Go 1.21. Мы..

Требования Golang по умолчанию для скрытой сети GOPROXY
Требования Golang по умолчанию для скрытой сети GOPROXY Краткий обзор настроек Golang GOPROXY по умолчанию и некоторых малоизвестных требований к белому списку доменов. Фон У меня очень мало опыта работы с Golang. Мне нужно время от времени перечитывать ее, чтобы понять, где что-то идет не так, потому что я работаю со многими продуктами CNCF и HashiCorp. Недавно я запускал некоторые инструменты производительности Kubernetes (некоторые из которых зависят от Go) и столкнулся с..

Добавление информации о версии в бинарные файлы Go
Одна из вещей, которая мне нравится в Go, - это модель доставки с одним исполняемым файлом. Для небольших проектов это так же просто, как перетащить встроенный исполняемый файл туда, где он мне нужен. Однако через некоторое время я могу легко забыть, на какой версии моей кодовой базы был построен данный исполняемый файл. Если мне нужно отменить изменение, как я могу убедиться, что строю из правильного коммита? В крупных проектах именно здесь на помощь приходит CI / CD. Однако для..