[NEW] Szukaj pracy anonimowo — sprawdź szczegóły
Close
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
Mar 14
W Ubuntu 25.10 GNU Coreutils zostanie zastąpione przez uutils napisane w języku Rust
Jon Seager, wiceprezes Canonical ds. inżynierii i lider techniczny projektu Ubuntu, ogłosił inicjatywę polegającą na zastąpieniu domyślnych narzędzi systemowych w Ubuntu odpowiednikami napisanymi w języku Rust.
Mar 4
Super Mario Bros. jako nowy benchmark dla AI – które modele radzą sobie najlepiej?
Wydawało się, że Pokémon jest trudnym testem dla AI, ale badacze twierdzą, że Super Mario Bros. stanowi jeszcze większe wyzwanie. Hao AI Lab, jednostka badawcza Uniwersytetu Kalifornijskiego w San Diego, przeprowadziła eksperyment, w którym różne modele AI próbowały pokonać kultową grę Nintendo z 1985 roku.
Mar 3
Brin wymaga pełnego zaangażowania od zespołu Google: 12-godzinne zmiany i obowiązkowa praca w biurze
Współzałożyciel Google, Siergiej Brin, wezwał pracowników do częstszej obecności w biurze oraz zwiększenia czasu pracy do 12 godzin dziennie. Ma to na celu utrzymanie przewagi w wyścigu o sztuczną inteligencję ogólną (AGI).

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