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
Sty 9, 2025

Sam Altman odpowiedział na pozew z zarzutami o przemoc seksualną wobec swojej siostry

Dyrektor generalny OpenAI, Sam Altman, we wtorek odniósł się do oskarżeń o przemoc seksualną wysuniętych przez jego młodszą siostrę, nazywając te zarzuty „całkowicie nieprawdziwymi”. O czym mowa w pozwie? Według informacji opublikowanych w Saint Louis Post Dispatch, w nowym pozwie złożonym w poniedziałek, Annie Altman oskarżyła swojego starszego brata o stosowanie przemocy seksualnej przez dziewięć lat w latach 1990 i 2000. Pozew ten powtarza zarzuty, które Annie już wcześniej przedstawiała w mediach społecznościowych w 2021 roku.
0
Kwi 4

Cloudflare wprowadza AI Labyrinth – pułapkę na nieuczciwe boty AI

Cloudflare zaprezentował nowe rozwiązanie mające na celu ochronę stron internetowych przed nieautoryzowanym scrapowaniem danych przez boty AI.
0
Cze 19

Google testuje możliwość przesyłania filmów do analizy w aplikacji Gemini

Użytkownicy aplikacji Gemini mogą już nie tylko przesyłać dokumenty i obrazy, ale również własne pliki wideo. Sztuczna inteligencja od Google potrafi je przeanalizować, streścić lub odpowiedzieć na konkretne pytania dotyczące ich treści.
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