Публикации по теме 'golang'
Отражение в Голанге
Отражение . Это способность программы анализировать свою структуру во время выполнения. Или мы можем сказать, что это набор функций, которые используются для извлечения данных о переменной во время выполнения. Мы можем получить информацию о типе и значении во время выполнения. Он реализует отражение с помощью пакета Reflect, который предоставляет типы и методы для проверки частей структуры интерфейса и даже для изменения значений во время выполнения.
Сначала нам нужно импортировать..
Использование sync.Once в Golang для эффективного использования ресурсов и безопасности потоков
В Golang пакет sync предоставляет примитивы синхронизации, такие как sync.Once , которые можно использовать для обеспечения того, чтобы определенный фрагмент кода выполнялся только один раз, независимо от того, сколько раз он вызывается. Это особенно полезно в сценариях, где мы хотим избежать избыточных вычислений, дорогостоящих инициализаций или обеспечить безопасность потоков…
Преобразование jpg в pdf: ГОЛАНГ
Эта программа использует библиотеку gofpdf для создания нового документа PDF, добавления в него страницы и рисования изображения на странице. Затем он сохраняет документ PDF с тем же именем, что и файл изображения, но с расширением .pdf.
package main
import (
"fmt"
"image"
"os"
"github.com/jung-kurt/gofpdf"
)
func main() {
// Open the image file
file, _ := os.Open("image.jpg")
defer file.Close()
// Decode the image
img, _, _ :=..
Создание простого клона Redis на Golang: часть 3
Часть 3. Добавление поддержки Pub/Sub Источник: https://github.com/kzeiter/build-redis-in-go
В этой части нашей серии клонов Redis мы добавим поддержку функции Pub/Sub (публикация/подписка). Pub/Sub позволяет клиентам подписываться на каналы и получать сообщения, публикуемые на этих каналах. Эта функция обычно используется в приложениях реального времени, таких как чаты и обновления в реальном времени.
Мы будем реализовывать две новые команды для Pub/Sub:
SUBSCRIBE channel..
Положите свои HTTP-запросы на диету
Практическое руководство по сжатию HTTP-запросов веб-клиента
Если вы оказались в ситуации, когда вы отправляете большие полезные данные HTTP-запроса из веб-браузера в свой API, вы, вероятно, допустили архитектурную или дизайнерскую ошибку. Тем не менее, наша команда недавно оказалась в ситуации, когда регулярная отправка 200–300 КБ запросов давала нам наименьшее количество компромиссов.
Как следствие, мы наблюдали длительное время передачи запросов. В отличие от того, как браузеры..
Отказ от REST с помощью gRPC-web и Envoy
С момента появления gRPC он стал очень популярным в сообществе разработчиков API. Причина, по которой gRPC стал настолько популярным, заключалась в его поддержке реализации многоязычного интерфейса (сервер и клиент могут быть написаны на разных языках), его ориентации на производительность с самого начала (gRPC основан на HTTP / 2) и отличном наборе инструментов (использование gRPC protobuf для сообщений и описаний сервисов, а клиенты могут быть сгенерированы автоматически без..
Псевдоним типа и определение типа в Go
Начнем кодить!!
Посмотрите на код ниже и подумайте, что он напечатает. [%T используется для печати информации о типе]
package main
import "fmt"
type int1 = int // OPTION-1
type int2 int // OPTION-2
func main() {
var i1 int1
var i2 int2
fmt.Printf("%T, %T", i1, i2)
}
Вывод
int, main.int2
источник
Интересно, что i1 печатает int , а i2 печатает main.int2 . Почему мы видим этот результат?
i1 — это псевдоним...