Programmēšanas valoda Go ir daudz attīstījusies kopš tās pirmās publicēšanas 2009. gadā. Go 1.18 bija ļoti gaidīts laidiens, jo tas atbalsta ģenēriskos medikamentus un daudzus citus svarīgus atjauninājumus.
Go izlaida versiju 1.18 2022. gada martā. Šeit ir sniegta informācija par vissvarīgākajām izmaiņām.
Generics atbalsts
Vispārējā programmēšana ļauj rakstīt funkcijas, kas var pieņemt un atgriezt elastīgākus veidus.
Pirms vispārīgo zāļu atbalsta jums bija skaidri jānorāda parametru veidi un atgriešanas veidi. Vienkāršākā ģenērisko formu forma ļauj norādīt neierakstītus parametrus:
funcDrukāt jebko[T jebkura](lietaT) {
fmt.Drukāt(lieta)
}
Bet ģenēriskie medikamenti piedāvā daudz vairāk jaudas nekā tikai šis. Varat deklarēt gandrīz jebkuru parametru kombināciju un veida precizitāti. Piemēram, varat izmantot ierobežojumiem pakotni, lai uzrakstītu funkciju, kas darbojas ar jebkuru vērtību, kuru varat pasūtīt. Tas ietver int, pludiņus un virknes. Šeit ir piemērs, kas parāda sintaksi:
imports "golang.org/x/exp/constraints "
funcMaks[T ierobežojumi. Pasūtīts](ievade[]T) (maksT) {
priekš _, v := diapazona ievade {
ja v > max {
max = v
}
}
atgriezties maks
}
Ņemiet vērā, ka šī funkcija izmanto vispārīgo veidu, ierobežojumiem. Pasūtīts, lai deklarētu tā parametru un atgriešanas veidu.
Generics nodrošina koda nenoteiktību un elastību. Generics priekšlikums un izmaiņas ir savietojamas ar atpakaļejošu datumu.
Fuzz testēšana
Izplūdināšana ir a programmatūras testēšanas tehnika kas apstiprina programmu ar kļūdainiem, negaidītiem vai neparedzamiem datiem.
The testēšana pakotne ievieš izplūdumu versijā 1.18, tāpēc, lai definētu izplūdumu, tas ir jāimportē no standarta bibliotēkas:
imports "pārbaude"
Pēc importēšanas testēšana pakotni, varat nodot tipa identifikatoru *pārbaude. F uz testa funkciju.
functestFunc(f * testēšana. F) {
// jūsu kods
}
Fuzzing ģenerē ievades parametrus koda testēšanai. Izplūdes rezultāts nav paredzams, jo ievades nav lietotāja definētas. Izplūdināšanai vajadzētu palīdzēt jums uzrakstīt labākus koda testus un uztvert kļūdas, par kurām nezināt.
Go Workspace atbalsts
Darbvietas ir līdzīga pirmkoda direktoriji, kas veido projektu vai lielāku vienību. Darbvietas atvieglo koda pārvaldību un atkļūdošanu, grupējot līdzīgus kodus, pamatojoties uz funkcionalitāti.
Parasti Go projekti tiek sadalīti avota kodā (src) un izpildāmos failus (atkritumu tvertne). Go rīkķēde veido pirmkodu no pirmās uz izpildāmajiem failiem otrajā. Go darbvietas ļauj izstrādātājiem strādāt ar vairākām darbvietām, izmantojot Go moduļus ar noteiktu galveno moduli.
Darba vietu izveides komanda ir šāda:
$ ej strādāt <komandu>
Izmantojiet strādāt komanda ar apakškomandām, piemēram:
- tajā → izveido darbvietu norādītajā direktorijā.
- izmantot → pievieno jaunu moduli go.work, go darbvietas failam.
- rediģēt → rediģē go darbvietas failu.
- sinhronizēt → sinhronizē atkarības no būvēšanas saraksta ar darbvietas moduļiem.
Iekļauto darbvietu iekļaušana palielinātu produktivitāti, kā plānots valodas izstrādē.
Veiktspējas uzlabojumi
Aiziet versija 1.18 tagad atbalsta ARM64 Apple M1 un 64 bitu PowerPC ABI zvanīšanas konvencijā. Tādējādi šo ierīču lietotāji CPU veiktspējā uzlabojas par vairāk nekā 10%.
Funkcijās deklarētie un neizmantotie mainīgie tagad tiek reģistrēti kā programmas kompilācijas kļūdas.
The ej būvēt komanda kopā ar citām saistītām komandām atbalsta -asan karodziņš, kas atbalsta sadarbspēju ar C/C++. Tas palīdzēs Go izstrādātājiem izmantot Go programmas ar C un C++ programmām.
Citi svarīgi atjauninājumi
The iet saņemt komanda vairs neinstalē pakotnes moduļa uztveršanas režīmā, kas ir lielas izmaiņas salīdzinājumā ar to, kad jūs vispirms sāka darbu ar Go. The ej instalēt komanda aizstāj gūt lai pielāgotu moduļu atkarības dažādās darbvietās.
Tā kā tipa pārbaudītājs tagad apstrādā vispārīgus datus, kļūdu ziņojumi var reģistrēties savādāk nekā iepriekšējās versijās.
Laiks, kas nepieciešams programmu kompilēšanai, var būt lēnāks versijā 1.18. Taču tas neietekmēs izpildes laiku, kad Go būs apkopojis jūsu programmu.
Pilnu informāciju par visām jaunākajām izmaiņām varat atrast izlaiduma piezīmēs Iet uz 1.18.
Go 1.18 ir vairāki dažādi papildinājumi
Izmantojot Go 1.18, tagad varat rakstīt vispārīgu kodu, efektīvi pārbaudīt, izmantojot izplūdes funkciju, un pārslēgties starp Go moduļiem, izmantojot darbvietas. Jūs pat varat rakstīt kodu, kas darbojas kopā ar C un C++ programmām.
Vai šodien ir vērts mācīties Golangu?
Lasiet Tālāk
Saistītās tēmas
- Programmēšana
- Programmēšana
- Programmēšanas valodas
Par autoru
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!
Noklikšķiniet šeit, lai abonētu