Рубріки: Новини

Мова Go оновлена до версії 1.24: з’явилась повна підтримка псевдонімів загального типу

Дмитро Сімагін

Go 1.24, заплановане оновлення популярної мови програмування від Google з відкритим кодом, з’явилось в статусі реліз-кандидата. Стабільний реліз, вихід якого очікується в лютому 2025 року, забезпечить повну підтримку псевдонімів загального типу, а також можливість відстежувати залежності виконуваного файлу за допомогою директив tool у модулях Go. 

Попередня версія Go 1.23 вийшла у серпні 2024 року.

У примітках до релізу Go 1.24 зазначається, що повна підтримка псевдонімів загального типу передбачає, що псевдонім типу може бути параметризований як визначений тип. Раніше псевдонім типу міг посилатися на загальний тип, але псевдонім типу не міг мати власних параметрів. Наразі псевдоніми загального типу можна вимкнути, встановивши в налаштуваннях GOEXPERIMENT=noaliastypeparams. Це налаштування параметра буде видалено в Go 1.25.

За допомогою команди go в Go 1.24 модулі Go тепер можна відстежувати виконувані залежності через директиву tool у файлах go.mod. Це усуває потребу в попередньому обхідному шляху додавання інструментів як порожнього імпорту до файлу з умовною назвою tools.go. Команда go tool тепер може запускати ці інструменти додатково до інструментів, які постачаються з дистрибутивом Go. Ще однією новинкою є змінна середовища GOAUTH, яка пропонує гнучкий спосіб автентифікації отримання приватних модулів.

Інші нові функції та вдосконалення в Go 1.24:

  • Численні покращення продуктивності середовища виконання в Go 1.24 зменшили накладні витрати процесору в середньому на 2%–3% за набором репрезентативних тестів.
  • Новий аналізатор tests повідомляє про типові помилки в деклараціях тестів, фаззерів, контрольних тестів і прикладів у тестових пакетах, таких як неправильні підписи або приклади, які документують неіснуючі ідентифікатори. Деякі з цих помилок можуть спричинити невиконання тестів.
  • Внутрішній бінарний і тестовий механізм кешування cmd/go тепер може бути реалізований дочірніми процесами, які реалізують протокол JSON між інструментом cmd/go і дочірнім процесом, названим GOCACHEPROG.
  • Експериментальний пакет testing/synctest підтримує тестування одночасного коду (concurrent code).
  • Пакет debug/elf додає кілька нових констант, типів і методів для додавання підтримки обробки динамічних версій і прапорів версій у файлах ELF (виконуваний і зв’язуваний формат).

При роботі в операційній системі Linux мова програмування Go 1.24 вимагає наявності ядра Linux версії 3.2 або новішої.

 

Останні статті

Мінфін все ж таки готується ввести ПДВ для ФОП третьої групи

Міністерство фінансів України опублікувало законопроект про введення ПДВ для ФОП 1-3 груп. Прогнозується, що нові…

18.12.2025

Google інтегрувала в Gemini конструктор міні-додатків Opal

Google перенесла свій експериментальний конструктор міні-додатків Opal на платформу Gemini. Цей інструмент дозволяє створювати додатки…

18.12.2025

Згенерований код містить більше помилок, ніж код, написаний людиною — дослідження

Генерація коду за допомогою штучного інтелекту збільшує кількість проблем та їхню важливість. В аналізі 470…

18.12.2025

Microsoft припиняє підтримку популярного розширення для автодоповнення коду у VS Code

Microsoft офіційно припиняє підтримку розширення для автодоповнення коду IntelliCode у редакторі Visual Studio Code. Замість…

18.12.2025

OpenAI відкриває прийом заявок на публікацію програм у ChatGPT

OpenAI оголосила, що програмісти та видавці тепер можуть надсилати свої додатки на розгляд і публікацію…

18.12.2025

На хакерських форумах рекламують нове шкідливе ПЗ, яке можна непомітно вбудувати в будь-яку програму з Google Play

Фахівці компанії iVerify, яка спеціалізується на безпеці мобільних додатків, помітили, що на підпільних хакерських форумах…

17.12.2025