🌊 Surf - Мощный HTTP-клиент для Go

Surf предлагает интуитивно понятный и функциональный подход к работе с HTTP-запросами. С поддержкой браузерной имитации, продвинутой безопасности и гибкой системой промежуточного ПО, этот клиент идеально подходит для современных веб-взаимодействий.

🚀 Основные моменты:
- Поддержка имитации браузеров Chrome и Firefox
- Расширенные функции безопасности и TLS
- Полная поддержка HTTP/2 и HTTP/3
- Эффективное управление соединениями и кэширование ответов
- Совместимость со стандартной библиотекой Go

🟢GitHub: https://github.com/enetx/surf

#go

@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2514🔥4🤬2😁1
Новый экспериментальный JSON API в Go

В версии Go 1.25 появился новый способ работы с JSON — пакеты encoding/json/v2 и encoding/json/jsontext.
Пока они работают только в экспериментальном режиме: чтобы включить, нужно указать GOEXPERIMENT=jsonv2 или собрать проект с тегом goexperiment.jsonv2.

Зачем это нужно?

Старая библиотека encoding/json существует с первых версий Go и за годы накопила массу проблем:

- Принимает некорректный UTF-8 и дубли ключей в объектах — это нарушает стандарт и может вести к багам.
- nil`-срезы и карты сериализуются как `null, хотя логичнее было бы [] или {}.
- Сопоставление полей Go-структур нечувствительно к регистру — медленно и запутанно.
- Нет нормального стриминга JSON.
- Есть лишние аллокации и даже квадратичные замедления при рекурсии.

Что изменилось в v2?

- Код разделён на два уровня: синтаксис (`jsontext`) и работа со значениями (`json/v2`). Это упростило и ускорило библиотеку.
- Marshal работает так же быстро, как в старой версии, а Unmarshal стал значительно быстрее.
- Поведение можно тонко настраивать через новые опции.
- Ошибки прошлого (дубли ключей, странное поведение с nil, нечувствительность к регистру) исправлены.

📌 Как запустить?


go run -tags goexperiment.jsonv2 .


или


GOEXPERIMENT=jsonv2 go run .


Новый API делает работу с JSON быстрее, чище и предсказуемее. Пока он экспериментальный, но, если сообщество даст положительный отклик, то в Go 1.26 или следующей версии json/v2 станет стандартом.

Почитай официальный блог: https://go.dev/blog/jsonv2-exp

@Golang_google

#Go #Golang #JSON #Go125 #encodingjson #jsonv2
👍4420🔥12