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
Feb 20

Valve udostępniło kod gry Team Fortress 2: Nowe możliwości dla twórców modów

Firma Valve opublikowała zaktualizowane narzędzie "Source SDK 2013", które służy do tworzenia modów do gier opartych na silniku Source. Co szczególnie istotne, pakiet zawiera pełny kod źródłowy gry Team Fortress 2 (zarówno część kliencką, jak i serwerową).
0
Apr 23

Komisja Europejska nakłada 500 mln euro grzywny na Apple i 200 mln na Metę za naruszenia DMA

Apple ma zapłacić 500 milionów euro, a Meta – 200 milionów euro w związku z naruszeniem unijnego aktu o rynkach cyfrowych (DMA) - informuje Reuters. To pierwsze kary nałożone przez Komisję Europejską w ramach tego aktu. Obie firmy mają dwa miesiące na dostosowanie się do przepisów, w przeciwnym razie mogą zostać obciążone dziennymi karami.
0
Jun 25

Google Earth obchodzi 20-lecie. Z tej okazji usługa zyskała nowe funkcje analityczne

Google świętuje 20-lecie Earth — platformy do eksploracji danych przestrzennych. Z tej okazji usługa zyskała nowe funkcje, które rozszerzają możliwości analizy przestrzennej. Użytkownicy mogą teraz przeglądać archiwalne zdjęcia Street View bezpośrednio w Earth i śledzić zmiany krajobrazu w danym miejscu na przestrzeni lat.
0

This site uses cookies to offer you a better browsing experience.

Find out more on how we use cookies and how to change cookie preferences in our Cookies Policy.

Customize
Save Accept all cookies