0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.</p>
1
<p>Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.</p>
2
<p>В <a>блоге Golang</a>14 декабря 2021 года появилась новость о выходе версии Golang 1.18 Beta 1. Разработчики языка дали возможность программистам протестировать нововведения до основного релиза, который состоится в начале 2022-го.</p>
2
<p>В <a>блоге Golang</a>14 декабря 2021 года появилась новость о выходе версии Golang 1.18 Beta 1. Разработчики языка дали возможность программистам протестировать нововведения до основного релиза, который состоится в начале 2022-го.</p>
3
<p>Главным и долгожданным обновлением стала поддержка дженериков. Для функций и структур теперь можно указывать тип принимаемых аргументов с помощью квадратных скобок.</p>
3
<p>Главным и долгожданным обновлением стала поддержка дженериков. Для функций и структур теперь можно указывать тип принимаемых аргументов с помощью квадратных скобок.</p>
4
func PrintAnything[T any](thing T) { fmt.Println(thing) } PrintAnything("Hello!") PrintAnything(42)<p>Кроме того, можно задавать ограничения на входные типы параметров. Это позволяет сделать код более безопасным и уменьшить число ошибок.</p>
4
func PrintAnything[T any](thing T) { fmt.Println(thing) } PrintAnything("Hello!") PrintAnything(42)<p>Кроме того, можно задавать ограничения на входные типы параметров. Это позволяет сделать код более безопасным и уменьшить число ошибок.</p>
5
type Stringer interface { String() string } func Join[T Stringer](things []T) (result string) { for _, v := range things { result += v.String() } return result } result := Join([]int{1, 2, 3}) // выдаст ошибку<p>Добавили поддержку рабочего режима. Она позволяет разработчикам проще следить за несколькими модулями одновременно. Если раньше нужно было перед коммитом удалять лишние строки в файле go.mod, то теперь можно указать вспомогательные модули в go.work.</p>
5
type Stringer interface { String() string } func Join[T Stringer](things []T) (result string) { for _, v := range things { result += v.String() } return result } result := Join([]int{1, 2, 3}) // выдаст ошибку<p>Добавили поддержку рабочего режима. Она позволяет разработчикам проще следить за несколькими модулями одновременно. Если раньше нужно было перед коммитом удалять лишние строки в файле go.mod, то теперь можно указать вспомогательные модули в go.work.</p>
6
<p>Появилась встроенная поддержка fuzzing-тестирования. Оно помогает автоматически тестировать приложения, передавая на вход неожиданные или случайные данные. Подробности можно прочитать в <a>официальном блоге Golang</a>.</p>
6
<p>Появилась встроенная поддержка fuzzing-тестирования. Оно помогает автоматически тестировать приложения, передавая на вход неожиданные или случайные данные. Подробности можно прочитать в <a>официальном блоге Golang</a>.</p>
7
<p>Полный список изменений можно посмотреть в <a>пресс-релизе от Google</a>. А дженерики можно безопасно потестить в <a>песочнице</a>.</p>
7
<p>Полный список изменений можно посмотреть в <a>пресс-релизе от Google</a>. А дженерики можно безопасно потестить в <a>песочнице</a>.</p>
8
<p>Вот что об этом думают пользователи<a>Reddit</a>:</p>
8
<p>Вот что об этом думают пользователи<a>Reddit</a>:</p>
9
<p>"А где летающие свиньи, которые были обещаны? Рад, что эта функция наконец-то вышла в бету. Я не очень знаком с Go, но думаю, что это действительно что-то важное для комьюнити - то, чего ждали уже долгое время".</p>
9
<p>"А где летающие свиньи, которые были обещаны? Рад, что эта функция наконец-то вышла в бету. Я не очень знаком с Go, но думаю, что это действительно что-то важное для комьюнити - то, чего ждали уже долгое время".</p>
10
Скриншот:<a>Reddit</a><p>"Я из тех, кто считает, что ЯП не достиг просветления, пока он не уберёт возврат значений полностью. Лучше присваивать значение глобальной переменной и использовать goto, чтобы вернуться назад к вызывающей функции или наверх по коду".</p>
10
Скриншот:<a>Reddit</a><p>"Я из тех, кто считает, что ЯП не достиг просветления, пока он не уберёт возврат значений полностью. Лучше присваивать значение глобальной переменной и использовать goto, чтобы вернуться назад к вызывающей функции или наверх по коду".</p>
11
Скриншот:<a>Reddit</a><p><strong>PhaseSea1141:</strong>"Отлично, теперь дайте нам суммирование типов".</p>
11
Скриншот:<a>Reddit</a><p><strong>PhaseSea1141:</strong>"Отлично, теперь дайте нам суммирование типов".</p>
12
<p><strong>Iuse_arch_btw:</strong>"10 лет спустя…"</p>
12
<p><strong>Iuse_arch_btw:</strong>"10 лет спустя…"</p>
13
Скриншот:<a>Reddit</a><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
13
Скриншот:<a>Reddit</a><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>