Wydanie języka programowania Go 1.24: Nowości i Optymalizacje

Wydanie języka programowania Go 1.24: Nowości i Optymalizacje

Po sześciu miesiącach intensywnego rozwoju, firma Google we współpracy z community zaprezentowała wydanie języka programowania Go w wersji 1.24. Go, łączące wysoką wydajność języków kompilowanych z zaletami skryptowych języków programowania, takich jak prostota pisania kodu, szybkość rozwoju i ochrona przed błędami, nieustannie ewoluuje. Kod projektu jest dostępny na licencji BSD.

Kluczowe cechy i zmiany w Go 1.24

1. Wsparcie dla aliasów typów ogólnych: Nowością w Go 1.24 jest pełne wsparcie dla aliasów typów ogólnych (generic type alias). Alias typu może być teraz parametryzowany, co umożliwia bardziej elastyczne definiowanie struktur danych. Przykład:

type set[P comparable] = map[P]bool

2. Optymalizacje w runtime: Dzięki optymalizacjom w runtime udało się zredukować obciążenie procesora o 2-3% w testach wydajnościowych. Wprowadzone zmiany obejmują m.in. nową implementację operacji "map", opartą na tabelach haszujących typu Swiss Table, oraz poprawę wykorzystania pamięci przy alokacji małych obiektów.

3. Śledzenie zależności wykonawczych w Go modules: Wprowadzono mechanizm śledzenia zależności pomocniczych w plikach Go.mod, co ułatwia zarządzanie narzędziami takimi jak lintery czy formatowanie kodu. Użycie narzędzi można teraz zdefiniować w pliku go.mod poprzez dyrektywę "tool", a ich uruchamianie obsługuje polecenie "go tool".

4. Nowa funkcjonalność w go build i go install: Dodano opcję "-json" do poleceń "go build" i "go install", umożliwiającą eksport wyników w formacie JSON. To znaczące udogodnienie dla programistów, którzy chcą lepiej kontrolować procesy kompilacji i instalacji.

5. Analiza testów w go vet: Wprowadzono nowy analizator testów w komendzie "go vet", który pomaga wykrywać typowe błędy w testach, w tym w narzędziach do fuzzingu, sprawdzania wydajności i testach aplikacji.

6. Integracja algorytmów kryptograficznych zgodnych z FIPS 140-3: W standardowej bibliotece języka Go pojawiły się implementacje algorytmów kryptograficznych zatwierdzonych przez standard bezpieczeństwa FIPS 140-3.

7. Wsparcie dla WebAssembly: Go 1.24 poprawia wsparcie dla WebAssembly, umożliwiając kompilację aplikacji Go jako biblioteki lub obsługiwanego przez WASI (WebAssembly System Interface). Dodatkowo, dodano dyrektywę go:wasmexport do eksportowania funkcji dla WebAssembly.

8. Nowe narzędzia i pakiety: Wprowadzono nowe pakiety, takie jak:

  • crypto/mlkem z implementacją algorytmów kryptograficznych odpornych na ataki kwantowe.
  • crypto/hkdf z funkcją generowania kluczy na bazie HMAC (RFC 5869).
  • crypto/pbkdf2 z funkcją tworzenia kluczy na bazie haseł (PBKDF2, RFC 8018).
  • crypto/sha3 z implementacją funkcji skrótu SHA-3.

9. Eksperymentalny pakiet testing/synctest: Dodano pakiet do testowania wielowątkowości, co umożliwia bardziej precyzyjne testowanie aplikacji działających równolegle.

10. Obsługa nowych architektur: Ulepszono narzędzie objdump, które teraz obsługuje deszyfrowanie kodu maszynowego dla nowych architektur, takich jak LoongArch, RISC-V i S390X.

Podsumowanie

Go 1.24 przynosi szereg istotnych usprawnień, które usprawniają procesy programistyczne, poprawiają wydajność oraz zwiększają bezpieczeństwo aplikacji. Nowe funkcje, takie jak pełne wsparcie dla aliasów typów ogólnych i ulepszona integracja z WebAssembly, czynią Go jeszcze bardziej elastycznym narzędziem dla nowoczesnych aplikacji. Zmiany w optymalizacji runtime oraz nowe funkcje w narzędziach takich jak go build i go vet zapewniają lepszą kontrolę nad procesem tworzenia oprogramowania, co jest kluczowe dla wydajnych i bezpiecznych aplikacji.





Avatar
Wrz 14, 2023

RustRover — nowe IDE JetBrains dla programistów Rust

Firma JetBrains zaprezentowała własne samodzielne IDE dla języka Rust — RustRover. Od lat pracowali nad dodaniem wsparcia dla funkcjonalności Rust w formie wtyczki, która działa zarówno w IntelliJ IDEA, jak i CLion.
0
Kwi 24, 2025

Meta może stracić 7 mld dolarów z reklam w 2025 roku przez cła wobec Chin forsowane przez Trumpa

Analitycy MoffettNathanson ostrzegają, że Meta może stracić do 7 miliardów dolarów w 2025 roku na przychodach z reklam z powodu ceł importowych nakładanych na Chiny przez administrację Donalda Trumpa. Główne źródło strat to ograniczenie wydatków reklamowych przez chińskich sprzedawców internetowych, takich jak Temu i Shein, którzy promują się głównie na Instagramie i Facebooku.
0
Sty 10, 2025

Microsoft redukuje zatrudnienie, koncentrując się na niskiej produktywności

Microsoft poinformował o planach dotyczących kolejnej rundy zwolnień, skupiając się na pracownikach o niskiej produktywności. Według źródeł dobrze poinformowanych o sytuacji decyzja ta wynika z dążenia firmy do wzmocnienia zarządzania personelem. Rzecznik Microsoft potwierdził planowane zwolnienia, ale odmówił ujawnienia liczby pracowników, których dotyczą.
0

Ta strona używa plików cookie, aby zapewnić Ci lepsze wrażenia podczas przeglądania.

Dowiedz się więcej o tym, jak używamy plików cookie i jak zmienić preferencje dotyczące plików cookie w naszej Polityka plików cookie.

Zmień ustawienia
Zapisz Akceptuj wszystkie cookies