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


Поточно-безопасный кэш в Go с sync.Map
Реализуйте свой собственный потокобезопасный кеш без внешних зависимостей Кэширование является важным аспектом оптимизации производительности современных приложений. Он позволяет хранить и быстро извлекать результаты дорогостоящих операций или часто используемых данных, уменьшая необходимость повторного вычисления или многократного извлечения данных. В этой статье мы рассмотрим, как реализовать потокобезопасный кеш в Go с помощью пакета sync.Map . Эта реализация кэша поддерживает..

Превосходный текст для разработки #golang
Я пробовал много всего, чтобы настроить мою среду sublime text 3 , и я придумал следующую конфигурацию. Это позволяет мне делать: Перейти к определению / объявлению с помощью коротких клавиш или щелчка мыши Автозаполнение даже в сложных ситуациях Рефакторинг с учетом контекста Автоматически проверять и проверять мои коды и другие вспомогательные инструменты И более… Вот инструменты, необходимые для работы этой настройки: $ go get -u github.com/nsf/gocode $ go get -u..

Пространства сообщества Golang, которые вам нужно знать!
Go — это язык программирования, популярность которого за последнее десятилетие значительно возросла. Разработчики Go часто дружелюбные, готовые помочь люди, которые всегда готовы дать совет или помочь другим в их проектах. Чтобы начать использовать Go для своего следующего проекта, важно, чтобы у вас был доступ к местам сообщества Go, где программисты могут делиться идеями и обсуждать темы, связанные с программированием на Go. Вот список самых популярных пространств сообщества Go...

Изучение Go, путешествие: управление потоком и группировка данных № 3
Всем привет! приятно снова встретиться с вами, надеюсь, у вас все хорошо. В этой статье я хочу поделиться своим прогрессом в изучении языка программирования Go. На прошлой неделе я узнал о потоке управления и группировке данных. Поток управления Что такое поток управления? В информатике поток управления — это порядок, в котором выполняются или оцениваются отдельные операторы, инструкции, функции или вызовы. Обычно ваш компьютер считывает вашу программу строка за строкой, но мы..

LeetCode — Повернуть список
Постановка задачи Учитывая голову связанного списка, поверните список вправо на k мест. Постановка задачи взята с: https://leetcode.com/problems/rotate-list Пример 1: Input: head = [1, 2, 3, 4, 5], k = 2 Output: [4, 5, 1, 2, 3] Пример 2: Input: head = [0, 1, 2], k = 4 Output: [2, 0, 1] Ограничения: - The number of nodes in the list is in the range [0, 500] - -100 <= Node.val <= 100 - 0 <= k <= 2 * 10^9 Объяснение В проблеме..

Почему срезы иногда изменяются при передаче по значению в Go?
В моем последнем сообщении в блоге мы говорили о некоторых различиях между срезом и массивом. А именно, мы обсудили, что срез имеет как capacity , так и length , а массив имеет только длину. Мы также кратко рассмотрели, как слайс использует массив за кулисами как часть своей структуры данных. Если это все новости для вас, я предлагаю вам ознакомиться со статьей. В этом посте мы продолжим это обсуждение и поговорим о том, как эти дизайнерские решения могут повлиять на ваш код и..

Ценность получения
Ценность получения Головоломка Как вы думаете, что напечатает следующая программа? package main import ( "fmt" ) type Coordinate struct { Lat float64 Lng float64 } func (c *Coordinate) String() string { return fmt.Sprintf("%f/%f", c.Lat, c.Lng) } func main() { c := Coordinate{32.5253837, 34.9408283} fmt.Println(c) } Эта программа напечатает: {32.5253837 34.9408283} . Ждать! Что? Coordinate реализует интерфейс fmt.Stringer . Разве ты..