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

Предстоящее обновление языка программирования 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 или новее.
Источник: https://infostart.ru/journal/news/tekhnologii/vyshla-beta-versiya-go-1-16_1354554/
См. также
Российские разработчики представили бесплатный онлайн-редактор кода
сегодня в 16:42 698 user1015646 1
Минпромторг готов выделять по 500 млн рублей в год на разработку ИИ
вчера в 13:52 789 VKuser24342747 2
Треть пользователей готова избавиться от предустановленного отечественного ПО
07.04.2021 2215 VKuser24342747 2
Google начала тестировать FLoC – технологию-убийцу cookies в Chrome
06.04.2021 4835 VKuser24342747 0
В России пройдет закрытое тестирование электронной почты с кириллицей в адресах
02.04.2021 2258 Senator_I 1
Samsung стала предустанавливать на смартфоны неудаляемые приложения. Яндекс против
01.04.2021 2506 user1015646 0
Google и Microsoft начали совместную работу над совместимостью браузеров
30.03.2021 1180 VKuser24342747 0
Google Chrome начнет автоматически добавлять https:// ко всем веб-адресам
29.03.2021 3160 VKuser24342747 0
Разработчик придумал фейковый язык программирования MOVA, чтобы отсеивать лживые резюме
26.03.2021 2436 SKravchenko 4
Фонд свободного программного обеспечения назвал лауреатов премии Free Software Awards 2020
25.03.2021 4842 VKuser24342747 0