Вышла бета-версия Go 1.16

Вышла бета-версия Go 1.16
30.12.2020
18201

Предстоящее обновление языка программирования Go 1.16 с открытым исходным кодом включает поддержку процессора Apple, улучшения базовой библиотеки и среды выполнения. Релиз стабильной версии намечается на февраль 2021 года.

Библиотека

Изменения в основной библиотеке в Go 1.16 включают новый embed пакет, который предлагает доступ к файлам, встроенным в программу во время компиляции, через //go:embed директиву. В библиотеку также были внесены незначительные изменения и обновления. Изменения варьируются от устаревания crypto/dsa до обновления unicode пакета до Unicode 13.0.0.

В основной библиотеке также улучшены файловые системы. Новый io/fs пакет определяет абстракцию для деревьев файлов, доступных только для чтения fs.FS. Интерфейс и стандартные пакеты библиотек были адаптированы для использования интерфейса при необходимости. Новый embed.FS тип реализует fs.FS, так же как это делает zip.Reader. Новая os.DirFS функция обеспечивает реализацию fs.FS, поддерживаемых деревом файлов операционной системы. Со стороны потребителя новая http.FS функция преобразует объект fs.FS в http.Handler. Кроме того, html.template и text/template пакеты получили ParseFS функции и методы чтения шаблонов с fs.FS. Для тестирования кода, который реализует fs.FS, новый testing/fstest пакет предоставляет TestFS функцию. Она проводит проверку и сообщает о типичных ошибках. Он также обеспечивает простую реализацию файловой системы в памяти MapFS, которая может быть полезна для тестирования кода, принимающего fs.FS реализации.

Среда выполнения

Go 1.16 также вносит улучшения в среду выполнения. Новый runtime/metrics пакет представляет стабильный интерфейс для чтения метрик, определенных реализацией. В Linux среда выполнения Go теперь по умолчанию быстро освобождает память для операционной системы с использованием MADV_DONTNEED. Это означает, что статистика памяти на уровне процесса, такая как RSS, будет более точно отражать объем физической памяти, используемой процессами Go. Системам, которые в настоящее время используются GODEBUG=madvdontneed=1 для улучшения поведения мониторинга памяти, больше не нужно устанавливать эту переменную среды. 

В Go 1.16 также исправлено несоответствие между Race-детектором и моделью памяти Go. Детектор более точно следует правилам синхронизации каналов модели памяти. Таким образом, он может сообщать о забегах, которые ранее были пропущены.

О выпуске первой бета-версии было объявлено 17 декабря. Текущая линейка выпусков Go 1.15 появилась в августе. В прошлом году языку программирования Go исполнилось 10 лет, а в июне 2020-го он попал в список самых высокооплачиваемых языков программирования по версии Stack Overflow.

 

 

Другие изменения

  • 64-разрядный процессор ARM-архитектуры на MacOS, также известный как Apple Silicon, поддерживается с G00S=darwin, GOARCH=arm64. Как и darwin/amd64 порт, darwin/arm64 поддерживает порт ОЦП, внутренние и внешние ссылки, c-archive, c-shared и pie режимы сборки. Go 1.16 добавляет ios/amd64 порт, предназначенный для симулятора iOS, работающего в macOS на базе AMD64. Раньше это неофициально поддерживалось darwin/amd64 с помощью ios набора тегов сборки.
  • Компилятор может встраивать функции с немаркированными for циклами, значениями методов и переключателями типов. Инлайнер также может обнаруживать больше встраиваемых вызовов.
  • Улучшения компоновщика сокращают использование ресурсов и улучшают ремонтопригодность кода. Это часть плана по модернизации компоновщика.
  • Режим с поддержкой модулей включен по умолчанию.
  • Команда go поддерживает включение статических файлов и файловых древ как часть окончательного исполняемого файла с помощью новой //go:embed директивы.
  • Новая GOVCS переменная среды ограничивает инструменты управления версиями, которые go команда может использовать для загрузки исходного кода. Это снижает проблемы безопасности с помощью инструментов, которые обычно используются в надежных средах с проверкой подлинности.
  • Go 1.16 – последний выпуск, который будет работать на MacOS Sierra. Go 1.17 потребует MacOS 10.13 High Sierra или новее.

Если вам удобнее смотреть новости в телеграме, то вот наша группа – ИНФОСТАРТ.

Автор:
Обозреватель

См. также

После ухода Slack из России в 2024 году бизнес стал переходить на отечественные корпоративные мессенджеры. Один из самых универсальных — 1С-Коннект. Расскажем подробнее о нём и других решениях российских разработчиков.

24.04.2025    759    AnastasiaKl    5       

3

С января по март 2025 года Ассоциация КП ПОО провела исследование отечественных систем виртуализации, коммуникации и контейнеризации по 266 показателям. Результаты показали, что медианная технологическая зрелость у этих ИТ-решений превышает 75%.

04.04.2025    1154    orenk0t    1       

0

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    1158    user1915669    3       

2

Федеральная налоговая служба запустила интерактивный сервис, позволяющий формировать в машиночитаемом виде договоры, контракты, соглашения и спецификации. Чтобы создать документ и скачать получившийся файл, регистрация не требуется.

03.12.2024    951    user2114475    0       

2

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    1111    user1915669    0       

3

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1412    AnastasiaKl    0       

4

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1330    user1915669    2       

2

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    989    user1915669    0       

2
Инфостарт бот

Оставьте свое сообщение