Po sześciu miesiącach prac rozwojowych, wydano wersję 1.26 kompilatora oraz standardowej biblioteki języka programowania. Go.
Główne zmiany:
- Nowa wbudowana funkcja, która tworzy nową zmienną, pozwala używać jako operandu wyrażenia wskazującego początkową wartość zmiennej. Prosty przykład tej zmiany to kod podobny do tego:
x := int64(300) ptr := &x
Można uprościć do:
ptr := new(int64(300)) - Typy ogólne mogą odwoływać się same do siebie w swoim własnym zestawie parametrów typów. Ta zmiana upraszcza implementację złożonych struktur danych i interfejsów.
Poprawa wydajności:
- Eksperymentalny garbage collector Green Tea jest teraz włączony domyślnie.
- Koszty związane z CGO zostały ograniczone o około 30%.
- Kompilator może alokować pamięć rezerwową dla struktur typu Slice w większej liczbie sytuacji, co zwiększa wydajność.
Narzędzia:
- Polecenie go fix zostało całkowicie przepisane z wykorzystaniem frameworka analysis i teraz zawiera kilkadziesiąt „modernizatorów”, które oferują bezpieczne poprawki, wspierające Twój kod w korzystaniu z nowych możliwości języka i standardowej biblioteki.
Dodano eksperymentalne rozszerzenia, dostępne tylko po wyraźnym włączeniu:
- Pakiet archsimd do dostępu do operacji SIMD zależnych od architektury. Na ten moment wspierany jest tylko AMD64.
- Pakiet secret z funkcjami pomocniczymi do zerowania pamięci.
- W pakiecie profilowania pprof dodano wsparcie dla opcji GOEXPERIMENT=goroutineleakprofile do wykrywania przecieków goroutine.
Źródło: linux.org.ru
