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

30.12.2020      18051

Предстоящее обновление языка программирования 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 или новее.

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


См. также

Новость Дата-центры Искусственный интеллект ИТ-Новость

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    214    AnastasiaKl    0       

1

Новость ИТ-Новость

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    265    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    499    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1028    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    851    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    641    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    791    VKuser24342747    2       

1

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    1025    VKuser24342747    2       

3
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение