Mwepụta ọhụrụ nke asụsụ Go, ụdị 1.24, na-abịa ọnwa isii ka e mesịrị Gaa 1.23. Ọtụtụ n'ime mgbanwe ndị a bụ na mmejuputa ngwa ngwa, oge ọsọ na ụlọ akwụkwọ. Dị ka mgbe niile, ntọhapụ na-enye nkwa ndakọrịta Gaa 1. Ndị na-emepụta asụsụ na-atụ anya na ihe fọrọ nke nta ka ọ bụrụ mmemme Go niile ga-aga n'ihu na-achịkọta ma na-agba ọsọ dịka ọ dị na mbụ.
Mgbanwe asụsụ
Go 1.24 na-akwado ugbu a nke ọma ụdị aha aha: enwere ike ịhazi ụdị utu aha dị ka ụdị ekwuputara. Nkọwa n'ime nkọwa asụsụ. Maka ugbu a, enwere ike gbanyụọ njirimara a site na ịtọ GOEXPERIMENT=noaliastypeparams; Agbanyeghị, a ga-ewepụ nhọrọ aliastypeparams na Go 1.25.
Ngwaọrụ
Gaa iwu
Go modul nwere ike soro ugbu a dabere na arụ ọrụ site na iji ntuziaka ngwaọrụ na go.mod. Nke a na-ewepụ mkpa maka mgbako gara aga nke ịgbakwunye ngwa ọrụ dị ka mbubata efu na faịlụ a na-akpọ "tools.go". Iwu ngwá ọrụ go nwere ike na-agba ọsọ ngwa ndị a na mgbakwunye na ngwaọrụ ndị na-abịa na Go. Enwere ike ịchọta ozi ndị ọzọ na akwụkwọ.
Ọkọlọtọ-ngwaọrụ ọhụrụ maka aga na-eme ka etinye ntuziaka ngwaọrụ na modul dị ugbu a maka ngwugwu akọwapụtara na mgbakwunye na ịgbakwunye ntuziaka chọrọ.
ọhụrụ meta-ụkpụrụ ngwá ọrụ na-ezo aka na ngwaọrụ niile dị na modul dị ugbu a. Enwere ike iji nke a kwalite ha niile site na ịga nweta ngwá ọrụ, ma ọ bụ tinye ha n'ime ndekọ GOBIN gị site na ngwá ọrụ go install.
A na-echekwa ihe omume emepụtara site na ịga na-agba ọsọ yana omume ngwa ngwa ọhụrụ a na-echekwa ugbu a na ebe nchekwa Go wuo. Nke a na-eme ka mwepụta ugboro ugboro kwe omume n'ihi ụbara cache. #69290.
Go wuo ma gaa wụnye iwu ugbu a nabata ọkọlọtọ -json, nke na-akọ na-arụpụta mmepụta na njehie dị ka mmepụta JSON ahaziri na mmepụta ọkọlọtọ. Hazie nkọwa, hụ gaa help buildjson.
Ọzọkwa, gaa test -json ugbu a na-akọpụta mmepụta wee wuo njehie na JSON, gwakọtara ya na nsonaazụ ule JSON. Enwere ike ịmata ha site na ụdị Action ọhụrụ, ma ọ bụrụ na ha na-akpata nsogbu na usoro ntinye ule, ị nwere ike ịdaba na mmepụta ederede nke ụlọ ahụ site na. GODEBUG nhazi gotestjsonbuildtext=1.
Ọnọdụ gburugburu GOAUTH ọhụrụ na-enye ụzọ mgbanwe iji nye ikike ịdọrọ modul nkeonwe. Ị nwere ike ịhụ nkọwa na go help goauth.
Awụnyela iwu ihe aga arụ ọrụ ugbu a mbipute nke isi modul na ọnụọgụ abụọ achịkọtara, dabere na mkpado na/ma ọ bụ ntinye njikwa ụdị. A ga-agbakwunye suffix + ruru unyi ma ọ bụrụ na enwere mgbanwe na-enweghị nkwekọrịta. Enwere ike iji -buildvcs=ọkọlọtọ ụgha wepụ ozi njikwa ụdị na ọnụọgụ abụọ.
Ọhụrụ GODEBUG nhazi toolchaintrace=1 enwere ike iji ugbu a soro usoro nhọrọ nhọrọ toolchain na iwu aga.
Cgo
Cgo na-akwado nkọwapụta ọhụrụ maka ọrụ C iji melite arụmọrụ oge ojiri. #cgo noescape cFunctionName na-agwa onye nchịkọta na ebe nchekwa gafere na ọrụ cFunctionName adịghị agbanarị. #cgo nocallback cFunctionName na-agwa onye nchịkọta na ọrụ C cFunctionName anaghị akpọghachi ọrụ Go ọ bụla. Enwere ike ịchọta ozi ndị ọzọ na cgo akwụkwọ.
Cgo na-ajụ ugbu a ikpokọta oku na ọrụ C nke nwere ọtụtụ nkwupụta ekwekọghị. Dịka ọmụmaatụ, ọ bụrụ na ekwuputara f dị ka f(int) na efu f(okpukpu abụọ), cgo ga-akọ njehie kama ịmepụta usoro oku na-ezighi ezi f(0). Ọhụrụ na ntọhapụ a ka emelitere nchọpụta ọnọdụ njehie a mgbe nkwupụta ekwekọghị pụtara na faịlụ dị iche iche. #67699.
Objdump
Ngwa objdump na-akwado mgbasa na 64-bit LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64), na S390X (GOARCH=s390x).
pụọ
Onye nyocha ule ọhụrụ ahụ na-akọ mmejọ ndị a na-ahụkarị na ule, fuzzer, benchmark, na nkwupụta ọmụmaatụ n'ime ụlọ nyocha, dị ka aha emetọghị, mbinye aka na-ezighi ezi, ma ọ bụ ọmụmaatụ na-edekọ ihe nchọpụta adịghị adị. Ụfọdụ n'ime njehie ndị a nwere ike ime ka ule daa.
Parser printf dị ugbu a na-akọ nyocha maka oku ụdị fmt.Printf(s), ebe s bụ eriri usoro na-adịghị adịgide adịgide na-enweghị arụmụka ọzọ. Oku ndị dị otú ahụ na-abụkarị njehie, ebe ọ bụ na uru s nwere ike ịnwe % agwa; jiri fmt.Print kama. 60529. Nlele nlele a na-achọsi ike ịchọta ihe dị na koodu dị, ya mere a na-etinye ya naanị mgbe ụdị asụsụ (dị ka akọwapụtara site na ntụziaka go nke faịlụ go.mod ma ọ bụ nkọwa `//go:build`) bụ opekata mpe Go 1.24, iji zere ịkpata nbibi njikọta ogologo mgbe ị na-ebuli gaa na ngwa ngwa Go 1.24.
Ihe nyocha ihe nrụpụta ihe dị ugbu a na-akọ nyocha mgbe enwere ihe nrụpụta ezighi ezi ochie ụdị ewu mmachi Gaa na //go: iwu iwu. Dịka ọmụmaatụ, //go:buil go1.23.1 na-ezo aka na ntọhapụ; kama jiri //go: wuo go1.23. #64127.
Ihe nyocha oyiri nke dị ugbu a na-akọ nyocha mgbe egosipụtara mgbanwe n'ime loop ugboro atọ, dịka maka i := iter(); emela (i); i = next(i) {… }, nwere sync.Locker, dị ka sync.Mutex. Gaa 1.22 gbanwere omume nke loops dị otú ahụ iji mepụta mgbanwe ọhụrụ maka iteration ọ bụla, na-edepụta ụkpụrụ sitere na iteration gara aga; Nṅomi a adịghị mma maka mkpọchi. #66387.
GOCACHEPROG
Enwere ike mejuputa usoro n'ime cmd/go nke ime na usoro nchikota ule ugbu a site na usoro ụmụaka na-emejuputa ụkpụrụ JSON n'etiti ngwa cmd/go na usoro nwatakịrị nke GOCACHEPROG gburugburu agbanwere aha. Na mbụ ọ bụ maka GOEXPERIMENT. Enwere ike ịhụ nkọwa nke protocol na akwụkwọ.
Oge mmecha
Ọtụtụ nkwalite arụmọrụ oge ojiri belatara CPU n'elu site na 2-3% na nkezi n'ofe akara akara nnọchite anya. Nsonaazụ nwere ike ịdị iche dabere na ngwa a. Nkwalite ndị a gụnyere mmejuputa maapụ arụnyere ọhụrụ dabere na Tebụl Sweden, oke nke ọma nke ọma nke obere ebe nchekwa ihe, yana mmejuputa oge ọhụụ nke ime mutex.
Enwere ike gbanyụọ mmejuputa maapụ arụnyere ọhụrụ yana mutex oge ojiri gaa n'ime ime site na ịtọ GOEXPERIMENT=noswissmap na GOEXPERIMENT=nospinbitmutex n'oge nrụpụta, otu ọ bụla.
Onye nchịkọta
Onye nchịkọta amachibidororị ịkọwapụta ụzọ ọhụrụ na ụdị nnata nke cgo mepụtara, mana enwere ike ịrụ ọrụ na mmachi a site na ụdị utu aha. Gaa 1.24 ugbu a na-akọ njehie mgbe niile ma ọ bụrụ na onye nnata na-egosi ụdị cgo mepụtara, ma ọ bụ ozugbo ma ọ bụ na-apụtaghị ìhè (site n'ụdị utu aha).
Njikọ
Onye njikọ ahụ na-ewepụta ihe nchọpụta GNU (ntinye ElF NT_GNU_BUILD_ID) na nyiwe ELF yana UUID (Mach-O load Command LC_UUID) na macOS na ndabara. Enwetara ID ụlọ ma ọ bụ UUID site na NJ nrụpụta Go. Enwere ike gbanyụọ nke a na ọkọlọtọ -B enweghị onye njikọ, ma ọ bụ jiri ọkọlọtọ njikọ -B 0xNNNN jiri uru hexadecimal akọwapụtara nke onye ọrụ.
Nkwalite
Dị ka e kwuru na Gaa ndetu ntọhapụ 1.22, Gaa 1.24 ugbu a chọrọ Go 1.22.6 ma ọ bụ karịa ka etinyere ya. Ndị mmepe na-atụ anya na Go 1.26 ga-achọ ntọhapụ nke Go 1.24 ma ọ bụ mgbe e mesịrị ka ewepụtara ya.
Ọbá akwụkwọ ọkọlọtọ
Nweta sistemụ faịlụ amachibidoro ndekọ
Ụdị ọhụrụ os.mgbọrọgwụ Na-enye ikike ịrụ ọrụ sistemụ faịlụ n'ime otu ndekọ aha.
ọrụ os.OpenRoot mepee ndekọ wee laghachi os.mgbọrọgwụ. Ụzọ na os.mgbọrọgwụ rụọ ọrụ na ndekọ ahụ ma ekwela ka ụzọ na-ezo aka na ebe na-abụghị akwụkwọ ndekọ aha, gụnyere ndị na-eso njikọ ihe atụ na-abụghị akwụkwọ ndekọ aha. Ụzọ ndị dị na os.Root na-egosipụta ọtụtụ ọrụ sistemụ faịlụ dị na ngwugwu os, gụnyere, dịka ọmụmaatụ, os.Mkpọrọgwụ.Mepee, os.Mkpọrọgwụ.Mepụta, os.Mkpọrọgwụ.Mkdir и os.Root.Stat.
Njirimara benchmark ọhụrụ
Ihe nrịbama nwere ike ugbu a iji ngwa ngwa, usoro adịghị emetụta mperi ule.B. Loop Itugharị n'elu akara akara dị ka nke b.Loop() {… } kama usoro loop a na-ahụkarị gụnyere bN dị ka nso bN Nke a na-enye uru abụọ dị ịrịba ama:
- A na-arụ ọrụ benchmark otu ugboro n'otu-ọnụ, ya mere nhazi na nchacha dị oke ọnụ na-eme naanị otu ugboro.
- Paragraf oku na-arụ ọrụ na nsonaazụ ya na-adị ndụ, na-egbochi onye na-achịkọta ka ọ ghara ịkwalite ahụ akaghị kpamkpam.
Emelitere mmecha
Atụmatụ ọhụrụ Oge ojiri gaa.Tinye Cleanup bụ usoro mmecha nke na-agbanwe agbanwe, na-arụ ọrụ nke ọma na nke na-adịchaghị mfe karịa Oge ojiri gaa.SetFinalizer. AddCleanup na-ejikọta ọrụ nchacha na ihe a ga-agba ọsọ ozugbo ihe ahụ adịghị. Agbanyeghị, n'adịghị ka SetFinalizer, enwere ike itinye ọtụtụ nchacha n'otu ihe, enwere ike itinye nchacha n'ime ntụle dị n'ime, nchacha anaghị ebute ọnya mmiri mgbe ihe na-etolite okirikiri, na mkpocha anaghị egbu oge ime ihe ma ọ bụ ihe ọ na-arụtụ aka. Koodu ọhụrụ kwesịrị ịhọrọ AddCleanup karịa SetFinalizer.
Ngwungwu ọhụrụ adịghị ike
ngwugwu ọhụrụ adịghị ike na-enye ihe nrịbama na-adịghị ike.
Ihe nrịbama na-adịghị ike bụ ihe ochie dị ala enyere maka ịmepụta usoro nchekwa na-arụ ọrụ nke ọma dị ka akwụkwọ ọkọwa okwu na-adịghị ike maka ụkpụrụ eserese, akwụkwọ ọkọwa okwu canonicalization maka ihe ọ bụla na-enweghị ngwugwu. pụrụ iche, na ụdị cache dị iche iche. Iji kwado ikpe ojiji ndị a, ntọhapụ a na-enyekwa Oge ojiri gaa.Tinye Cleanup и maphash.Tụnyere.
Ngwungwu crypto/mlkem ọhụrụ
ngwugwu ọhụrụ crypto/mlkem na-arụ ọrụ ML-KEM-768 na ML-KEM-1024.
ML-KEM bụ usoro mgbanwe isi ngbanwe post-quantum, nke a na-akpọbu Kyber na akọwapụtara na ya FIPS 203.
Ngwunye ọhụrụ crypto/hkdf, crypto/pbkdf2 na crypto/sha3
ngwugwu ọhụrụ crypto/hkdf na-arụ ọrụ HMAC nke dabeere na "Extract-na-Expand" HKDF dị ka akọwara na ya. RFC 5869.
ngwugwu ọhụrụ crypto/pbkdf2 na-emejuputa ọrụ mwepụta igodo dabere na paswọọdụ PBKDF2 dị ka akọwara na ya RFC 8018.
ngwugwu ọhụrụ crypto/sha3 na-arụ ọrụ SHA-3 hash yana SHAKE na cSHAKE arụ ọrụ mmepụta dị ka akọwapụtara na FIPS 202.
Ngwungwu atọ a dabere na ngwugwu golang.org/x/crypto/… dị adị.
FIPS 140-3 nnabata
Ntọhapụ a gụnyere usoro ọhụrụ iji hụ na nnabata FIPS 140-3.
Modul Go crypto bụ ngwungwu ọbá akwụkwọ dị n'ime nke ejiri n'ụzọ doro anya mejuputa algọridim FIPS 140-3 kwadoro. Ngwa anaghị achọ mgbanwe iji jiri modul Go crypto maka algọridim akwadoro.
Enwere ike iji mgbanwe gburugburu ebe obibi ọhụrụ GOFIPS140 họrọ ụdị nke modul Go crypto iji rụọ ọrụ. Ọhụrụ GODEBUG nhazi Enwere ike iji fips140 mee ka ọnọdụ FIPS 140-3 rụọ ọrụ na oge ojiri.
Go 1.24 gụnyere Go crypto modul v1.0.0, nke a na-anwale ugbu a site na ụlọ nyocha enwetara CMVP.
Nnwale/mmekọrịta nnwale ọhụrụ
Ngwungwu nnwale ọhụrụ ule/synctest Na-enye nkwado maka ịnwale koodu n'otu oge.
- ọrụ synctest.run na-agba otu goroutines na "afụ" dịpụrụ adịpụ. Na afụ nke ngwugwu ọrụ oge rụọ ọrụ na elekere ụgha.
- Ọrụ syncest.echere chere ruo mgbe egbochiri goroutines niile na afụ dị ugbu a.
Enwere ike ịchọta nkọwa na akwụkwọ ngwugwu.
Ngwungwu synctest bụ nnwale na a ga-emerịrị ya site na ịtọ GOEXPERIMENT=synctest. API ngwugwu nwere ike ịgbanwe na mwepụta n'ọdịnihu. N'ime #67434 Ị nwere ike ịhụ nkọwa ndị ọzọ wee nye nzaghachi.
Obere mgbanwe na ọba akwụkwọ
Archive
Ihe mmejuputa (* Writer.AddFS) dị na Archive/zip na Archive/tar ugbu a dee akwụkwọ ndekọ aha maka ndekọ efu.
bytes
Ihe ngwugwu bytes na-agbakwụnye ọtụtụ ọrụ na-arụ ọrụ na ndị na-emegharị ihe:
- edoghi Na-eweghachite onye nkwupute n'elu eriri ndị kewara ahịrị ọhụrụ na iberi byte.
- SplitSeq na-eweghachite onye nyocha n'elu akụkụ niile nke iberi byte nke onye nkewa kewapụrụ.
- SplitAfterSeq na-eweghachite iterator n'elu akụkụ nke iberi byte, kewaa mgbe ihe ọ bụla mere nke onye nkewa.
- UbiSeq weghachite onye nkwuputa n'elu mkpirisi nke iberi byte gburugburu usoro mkpụrụedemede oghere, dịka akọwara. unicode.IsSpace
- UbiFuncSeq weghachite onye nkwuputa n'elu mkpirisi nke iberi byte gburugburu usoro akara koodu Unicode na-eju amụma amụma.
crypto/aes
nloghachi uru NewChipher anaghịzi eme NewCTR, NewGCM, NewCBCEncrypter na ụzọ NewCBCDecrypter. Ụzọ ndị a enweghị akwụkwọ ma ọ bụghị na ụlọ ọrụ niile. Ugbu a ọ pụtara Gbochie ga-agaferịrị ozugbo na ọrụ kwesịrị ekwesị crypto/cipher. Ugbu a, crypto/cipher ka na-enyocha ụzọ ndị a na ụkpụrụ Block, n'agbanyeghị na ụlọ akwụkwọ ọkọlọtọ anaghị akwado ha.
crypto/cipher
Atụmatụ ọhụrụ NewGCMWithRandomNonce na-alaghachi AEAD, nke na-arụ ọrụ AES-GCM site n'ịmepụta enweghị usoro n'oge Akara na idobe ya na ciphertext.
Mmejuputa iwu Stream, laghachi NewCTR mgbe eji ya crypto/aes ugbu a ọtụtụ ugboro ngwa ngwa na amd64 na arm64.
NewOFB, NewCFBEncrypter и NewCFBDecrypter a na-ekwupụta ugbu a na agaghịzi adị. Ụdị OFB na CFB akwadoghị nke ọma, nke na-enye ohere maka mwakpo na-arụ ọrụ iji megharịa ma nwetaghachi ederede doro anya. Ngwa akwadoro iji AEAD na nloghachi. Ọ bụrụ na akwadoghị ọnọdụ Stream dị mkpa, nwere ike iji NewCTR na nloghachi.
crypto/ecdsa
Akara onwe.Key ugbu a na-emepụta deterministic mbinye aka dị ka RFC 6979, ma ọ bụrụ na randomness isi iyi bụ nil.
crypto/md5
nloghachi uru md5. ọhụrụ, ugbu a na-emejuputa atumatu interface encoding.binaryappender.
crypto/rand
ọrụ Gụọ ugbu a na-ekwe nkwa ọ dịghị ọdịda. Ọ bụrụ na Gụọ na-ezute mperi mgbe ị na-agụ akwụkwọ Reader, mmemme ga-akwụsị kpamkpam. Mara na edebere onye na-agụ ndabara ka ọ na-arụ ọrụ nke ọma mgbe niile, yabụ mgbanwe a ga-emetụta naanị mmemme na-emebi mgbanwe Reader. Otu ihe dị iche bụ Linux kernels tupu 3.17, ebe onye na-agụ ndabara ka na-emepe / dev/urandom ma nwee ike ịda.
Na Linux 6.11 na mgbe e mesịrị, Reader na-eji usoro getrandom oku site na vDSO. Nke a na-adị ngwa ngwa ọtụtụ ugboro, na-abụkarị maka obere ọgụgụ.
Na OpenBSD Reader na-eji arc4random_buf(3) ugbu a.
Atụmatụ ọhụrụ Text nwere ike iwepụta ụdọ ederede enweghị usoro echekwabara.
crypto/rsa
GenerateKey ugbu a na-eweghachi mperi ma ọ bụrụ na achọrọ ogologo igodo na-erughị 1024 bits. Ụzọ akara niile, nyochaa, ezoro ezo na decrypt ugbu a na-eweghachi mperi ma ọ bụrụ na ejiri igodo ha na-erughị 1024 bits. Igodo ndị dị otú ahụ adịghị mma ma ekwesighi iji ya. Ịtọlite GODEBUG rsa1024min = 0 weghachi omume ochie, mana ndị mmepe Go na-akwado ime nke a naanị mgbe ọ dị mkpa yana naanị na ule, dịka ọmụmaatụ site na ịgbakwunye akara //go: debug rsa1024min=0 na faịlụ ule. Ọhụrụ ihe atụ GenerateKey na-enye dị mfe iji ọkọlọtọ 2024-bit igodo ule.
Ugbu a ọ dị nchebe yana ịrụ ọrụ nke ọma ịkpọ PrivateKey. eburu ụzọ gbakọọ ka PrivateKey.Validate. Precompute dị ugbu a ngwa ngwa na ọnụnọ nke akụkụ juputara Ụkpụrụ eburu ụzọ gbakọọ, ọmụmaatụ mgbe ị na-ewepụ igodo na JSON.
Ngwungwu ugbu a na-ajụ igodo ndị na-ezighi ezi ọbụlagodi mgbe a na-akpọghị Validate, yana GenerateKey nwere ike weghachi mperi ọhụrụ maka isi mmalite ndị gbajiri agbaji. Ubi Ugwu и Aburula ụzọ gbakọọ ihe owuwu Akpaaka nkeonwe na-eji ugbu a ma kwadoro ọbụna mgbe ụfọdụ ụkpụrụ na-efu. Enwekwara mgbanwe na crypto/x509 maka ntule na iwepụta igodo RSA, akọwara n'okpuru.
Akara akaraPKCS1v15 и NyochaaPKCS1v15 ugbu a na-akwado SHA-512/224, SHA-512/256 na SHA-3.
GenerateKey ugbu a na-eji usoro dịtụ iche iji mepụta exponent nkeonwe (ọrụ Carmichael kama ọrụ Euler). Ngwa ndị na-adịghị ahụkebe na-emegharị igodo na-esi na naanị nọmba isi nwere ike iwepụta nsonaazụ dị iche iche mana dakọtara.
Ịrụ ọrụ na igodo ọha na nke nzuzo dị ugbu a ihe ruru okpukpu abụọ ngwa ngwa na wasm.
crypto/sha*
- crypto/sha1: nloghachi uru sha1.Ọhụrụ ugbu a na-emejuputa atumatu interface encoding.binaryappender.
- crypto/sha256: ụkpụrụ laghachiri sha256.Ọhụrụ и sha256.Ọhụrụ224 ugbu a mejuputa interface encoding.binaryappender.
- crypto/sha512: ụkpụrụ laghachiri sha512.Ọhụrụ, sha512.Ọhụrụ384, sha512.New512_224 и sha512.New512_256, ugbu a mejuputa interface encoding.binaryappender.
crypto/dị aghụghọ
Atụmatụ ọhụrụ NaDataIndependentTiming na-enye ohere ka onye ọrụ rụọ ọrụ na-arụ ọrụ na-arụ ọrụ na-arụ ọrụ na-arụ ọrụ nke na-eme ka a hụ na agbanweghị ntụziaka ụfọdụ n'oge oge data bara uru. Enwere ike iji nke a hụ na koodu edere ka ọ na-agba ọsọ n'oge na-adịchaghị mma emebeghị ka ọ dị mma site na ọrụ ọkwa nhazi ka ọ na-agba ọsọ n'oge agbanwe. Ugbu a WithDataIndependentTiming na-eji PSTATE.DIT bit na arm64 ọ naghị eme ihe ọ bụla na ụlọ ndị ọzọ niile. Ịtọlite GODEBUG dataindependenttiming=1 na-enyere ọnọdụ DIT aka maka mmemme Go dum.
nkwubi XORBytes ga-ejikọta ya kpamkpam ma ọ bụ na ọ bụghị ma ọlị na ntinye. Na mbụ akọwapụtaghị omume a ma ọ bụghị, ebe ugbu a XORBytes ga-atụ ụjọ.
crypto/tls
Ihe nkesa TLS na-akwado ezoro ezo Client Hello (ECH). Enwere ike ịme atụmatụ a site na imeju n'ọhịa. Config.EncryptedClientHelloKeys.
Mechanism igodo mgbanwe mgbanwe nke Quantum ọhụrụ X25519MLKEM768 akwadoro ma kwado ya site na ndabara mgbe Config.CurvePreferences bụ nil. Ịtọlite GODEBUG tlsmlkem=0 weghachi ndabara.
Nkwado maka nnwale igodo X25519Kyber768Draft00 ewepụrụ.
A na-edozi usoro mgbanwe isi ugbu a kpamkpam site na ngwugwu crypto/tls. Nye iwu Config.CurvePreferences A na-eleghara ya anya ugbu a, a na-eji naanị ihe dị n'ime ya iji chọpụta isi mgbanwe ndị a ga-agụnye mgbe ubi jupụtara.
Ogige ọhụrụ ClientHelloInfo.Extensions Na-edepụta ndepụta ihe nchọpụta ndọtị enwetara na ozi Hello Client. Nke a nwere ike ịbara ndị ahịa TLS akara mkpịsị aka.
crypto/x509
Ịtọlite GODEBUG ewepụla x509sha1. Asambodo. Nyochaa anaghị akwado SHA-1 mbinye aka.
OID ugbu a na-arụ ọrụ interfaces encoding.binaryappender и encoding.TextAppender.
Agbanweela mpaghara amụma nke ndabara site na Asambodo.Amụma Amụma on Asambodo.Amụma. Mgbe ị na-atụgharị asambodo, a ga-ejupụta mpaghara abụọ ahụ, mana mgbe ị na-eke amụma asambodo, a ga-ewepụ ha na Asambodo.Amụma ubi kama Asambodo.PolicyIdentifiers. Enwere ike ịtụgharị mgbanwe a. GODEBUG nhazi x509 iwu ojiji=0.
Mepụta Asambodo ga-ewepụta nọmba serial site na iji usoro nnabata RFC 5280 mgbe ị na-agafe ubi ndebiri Asambodo.SerialNumber nil, kama ịkụda.
Asambodo. Nyochaa ugbu a na-akwado nkwado iwu dịka akọwara na RFC 5280 na RFC 9618. Ogige ọhụrụ Nyochaa Nhọrọ.Amụma Asambodo enwere ike ịtọ ya na usoro atumatu anakwere OID. Naanị ụdọ asambodo nwere eserese amụma bara uru ka a ga-eweghachite Asambodo. Nyochaa.
MarshalPKCS8PrivateKey ugbu a weghachite mperi kama iweghachite igodo RSA na-ezighi ezi. (MarshalPKCS1PrivateKey enweghị nloghachi mperi yana omume ya mgbe enyere igodo na-ezighi ezi na-anọgide na-akọwapụtaghị ya.)
ParsePKCS1PrivateKey и ParsePKCS8PrivateKey jiri ugbu a wee kwado ụkpụrụ CRT agbakwunyere, yabụ nwere ike jụ igodo RSA na-ezighi ezi nke anabataburu. Ojiji Ntọala GODEBUG x509rsacrt=0 laghachiri na nchikota nke ụkpụrụ CRT.
debug/elf
Ihe ngwugwu debug/elf Na-agbakwụnye nkwado maka ijikwa ụdị akara ngosi na faịlụ ELF dị ike (Executable and Linkable Format). Usoro ọhụrụ Faịlụ.DynamicVersions Weghachite ndepụta ụdị dị ike akọwapụtara na faịlụ ELF. Usoro ọhụrụ File.DynamicVersion Mkpa Weghachite ndepụta ụdị dị ike chọrọ nke faịlụ ELF a akọwapụtara na ihe ELF ndị ọzọ. N'ikpeazụ, ubi ọhụrụ Akara.HasVersion и Symbol.VersionIndex gosi ụdị nke akara ahụ.
ngbanwe
Ọhụrụ abụọ interface TextAppender и BinaryAppender ewebata ka ịgbakwunye ederede ma ọ bụ ihe nnochite anya ọnụọgụ abụọ nke ihe na iberi byte. Ndị a interfaces na-enye otu ọrụ dị ka TextMarshaler и ọnụọgụ abụọMarshaler, ma kama ikenye iberi ọhụrụ oge ọ bụla, ha na-etinye data ozugbo na iberi dị adị. A na-eji ụdị ọbá akwụkwọ ọkọlọtọ emejuputa atumatu ndị a ugbu a nke mejuputa TextMarshaler na/ma ọ bụ BinaryMarshaler.
encoding/json
Mgbe a na-ewu ụlọ, a ga-ahapụ ogige ihe owuwu nwere nhọrọ omitzero ọhụrụ dị na mkpado ngalaba nhazi ma ọ bụrụ na uru ya bụ efu. Ọ bụrụ na ụdị ubi nwere usoro bool IsZero(), a ga-eji ya chọpụta ma uru ọ bara. Ma ọ bụghị ya, uru ga-abụ efu ma ọ bụrụ na ọ uru efu maka ụdị ya. Mkpado ogige omitzero dị ọcha yana mperi mperi karịa ịhapụ ihe efu mgbe ebumnuche bụ ịhapụ ụkpụrụ efu. Karịsịa, n'adịghị ka enweghị mmasị, omitzero na-ahapụ efu oge.oge ụkpụrụ, nke bụ isi iyi nke nsogbu.
Ọ bụrụ na akọwapụtara ma omitempty na omitzero, a ga-ahapụ mpaghara ahụ ma ọ bụrụ na uru efu ma ọ bụ efu (ma ọ bụ ha abụọ).
Ụdị Error.Ubi ugbu a gụnyere ihe arụrụ n'ime ya iji nye ozi mperi zuru ezu karị.
aga/ụdị
All go/ụdị data Ọdịdị nke na-ekpughe usoro nke ụzọ ụzọ abụọ, dị ka Len () int na At (int) T, ugbu a nwekwara ụzọ na-eweghachite iterators, na-enye ohere mfe koodu dị ka nke a:
params: = fn.Ụdị.(*ụdị.Akara aka).Params() maka i:= 0; i < params.Len (); i++ {jiri(params.At(i)))}
Na nke a:
maka param := nso fn. Signature().Params().Variables() {eji(param)}
Ụzọ: Interface.EmbeddedỤdị Interface.Ụzọ doro anya Interface.Uzo UsoroSet.Uzo Aha ya.Uzo Oke.Ụmụaka Nhazi.Ubi Tuple.Variables ỤdịList.Ụdị ỤdịParamList.TypeParams Njikọ. Usoro
hash/*
- hash/adler32: nloghachi uru New, ugbu a na-emejuputa atumatu interface encoding.binaryappender
- hash/crc32: ụkpụrụ laghachiri New и NewIEEE, ugbu a mejuputa interface encoding.binaryappender
- hash/crc64: nloghachi uru New, ugbu a na-emejuputa atumatu interface encoding.binaryappender
- hash/fnv: ụkpụrụ laghachiri New32 Ọhụrụ32a New64 Ọhụrụ64a New128 и Ọhụrụ128a, ugbu a mejuputa interface encoding.binaryappender
- hash/maphash: ọhụrụ atụmatụ Nke a tụnyere и Write Comparable nwere ike gbakọọ hash nke uru ọ bụla enwere ike iji tụnyere. Nke a na-enye gị ohere iji hash ihe ọ bụla enwere ike iji dị ka igodo ọkọwa okwu Go.
log/slog
ọhụrụ DiscardHandler bụ onye na-ahụ maka ọrụ na-enweghị ike ma na-atụfukwa mmepụta ya mgbe niile.
Ọkwa и ỌkwaVar ugbu a mejuputa interface encoding.TextAppender.
mgbakọ na mwepụ/*
- mgbakọ na mwepụ/nnukwu: Ọfụma, Int и Ez ugbu a mejuputa interface encoding.TextAppender.
- mgbakọ na mwepụ/rand: oku arụrụ arụ nke elu-elu kwụsịrị Mkpụrụ enwekwaghị mmetụta ọ bụla. Iji weghachi omume ochie, ị nwere ike iji GODEBUG nhazi randseednop=0. Ọnọdụ ndị ọzọ na enye 67273.
- mgbakọ na mwepụ/rand/v2: ChaCha8 и PCG ugbu a mejuputa interface encoding.binaryappender.
net
ListenCondig ugbu a na-eji MPTCP na ndabara na sistemụ ebe a na-akwado ya (ugbu a naanị Linux).
IP ugbu a na-emejuputa interface encoding.TextAppender.
netwọk/http
Mmachi agbanweela Transport na nzaghachi ozi 1xx natara na nzaghachi nke arịrịọ ahụ. Na mbụ nke a ga-akwụsị arịrịọ ahụ wee weghachi njehie mgbe ọ nwetasịrị nzaghachi karịa 5 1xx. Nke a na-eweghachi naanị mperi ma ọ bụrụ na ngụkọta nke nzaghachi 1xx niile karịrị ntọala nhazi Ụgbọ njem.MaxResponseHeaderBytes.
Ọzọkwa, mgbe arịrịọ nwere nko nsuso net/http/httptrace.ClientTrace.Got1xxResponse, ugbu a enweghị oke na ọnụ ọgụgụ azịza 1xx. nko Got1xxResponse nwere ike weghachi mperi iji kwụsị arịrịọ ahụ.
Transport и Server ugbu a nwere ubi HTTP2 nke na-enye ohere nhazi HTTP/2 ntọala protocol.
Ogige ọhụrụ Ihe nkesa.Protocols и Ụgbọ njem.Protocols nye ụzọ dị mfe iji hazie usoro HTTP nke sava ma ọ bụ onye ahịa na-eji.
Enwere ike ịhazi ihe nkesa na onye ahịa ka ọ kwado njikọ HTTP/2 ezoro ezoghị.
Mgbe Ihe nkesa.Protocols nwere UnencrypterHTTP2, ihe nkesa ga-anabata njikọ HTTP/2 na ọdụ ụgbọ mmiri ezoro ezo. Ihe nkesa ahụ nwere ike ịnakwere ma HTTP/1 na HTTP/2 ezoro ezo n'otu ọdụ ụgbọ mmiri.
Mgbe Ụgbọ njem.Protocols nwere UnencryptedHTTP2 na enweghị HTTP1, njem ga-eji HTTP/2 ezoro ezo maka adreesị http://. Ọ bụrụ na ahaziri njem ka ọ jiri ma HTTP/1 na HTTP/2 ezoro ezo, ọ ga-eji HTTP/1.
Nkwado maka HTTP/2 ezoro ezo na-eji "HTTP/2 na Ịmụta N'ihu" (RFC 9113, ngalaba 3.3). Agaghị akwado nkụnye eji isi mee "Nkwalite: h2c".
netwọk / netwọk
Adikwa, AddrPort и Nganiihu ugbu a mejuputa interfaces encoding.binaryappender и encoding.TextAppender.
net/url
URL ugbu a na-emejuputa atumatu interface encoding.binaryappender.
os/onye ọrụ
Na Windows Ugbu enwere ike iji ya ugbu a na Windows Nano Server. Emelitela mmejuputa a ka ịzere iji ọrụ sitere na ọbaakwụkwọ NetApi32, nke na-efu na Nano Server.
Na Windows Ugbu, Nyocha и LookupId ugbu a na-akwado akaụntụ ọrụ onye ọrụ arụnyere n'ime:
- NT NTTHORITYSYSTEM
- NT AUTHORITYLOCAL SERVICE
- NT NTTARA NTUTA NT
Na Windows Ugbu agbagoro nke ọma mgbe onye ọrụ ugbu a jikọtara na ngalaba na-adịghị ngwa ngwa, nke bụ ihe a na-ahụkarị maka ọtụtụ ndị ọrụ ụlọ ọrụ. Ọrụ mmejuputa ọhụrụ a dị ugbu a n'usoro nke milliseconds, ma e jiri ya tụnyere mmejuputa nke gara aga, nke nwere ike were ọtụtụ sekọnd, ọbụlagodi nkeji, iji wuchaa.
Na Windows Ugbu ugbu a na-eweghachi onye nwe usoro mgbe eri ugbu a na-eṅomi onye ọrụ ọzọ. Na mbụ nke a weghachiri mperi.
regexp
Regexp ugbu a na-emejuputa interface encoding.TextApter.
oge ojiri
ọrụ GOROOT ugbu a kwụsịrị. Na gburugburu ọhụrụ, ị ga-ahọrọ iji usoro usoro iji chọpụta ọnụọgụgụ "go", wee jiri go env GOROOT chọpụta GOROOT.
ụdọ
Ihe ngwugwu ụdọ na-agbakwụnye ọtụtụ ọrụ maka ịrụ ọrụ na itirator:
- edoghi Na-eweghachite onye nrụpụta n'elu ahịrị ndị kewara ahịrị ọhụrụ na eriri.
- SplitSeq weghachite onye nkwuputa n'elu eriri niile nke eriri nke onye nkewa kewapụrụ.
- SplitAfterSeq na-eweghachite iterator n'elu obere eriri nke eriri, kewaa mgbe ihe omume ọ bụla nke nkewa gasịrị.
- UbiSeq weghachite onye nkwuputa n'elu eriri nta nke eriri gburugburu usoro mkpụrụedemede ọcha, dịka akọwaraunicode.IsSpace
- UbiFuncSeq Na-eweghachite onye na-emegharị ihe n'elu obere eriri eriri gburugburu usoro koodu koodu Unicode na-eju amụma amụma.
mmekọrịta
Mmejuputa iwu mmekọrịta.map agbanweela iji melite arụmọrụ, ọkachasị maka mgbanwe ọkọwa okwu. Dịka ọmụmaatụ, esemokwu mgbanwe ngbanwe n'usoro anaghị adị obere na akwụkwọ ọkọwa okwu buru ibu, ọ naghịkwa achọ oge nkwalite iji nweta ibu akwụkwọ ọkọwa okwu dị ala.
Ọ bụrụ na ị zutere nsogbu ọ bụla, tọọ GOEXPERIMENT=nosynchashtriemap n'oge a na-ewu ụlọ ka ịlaghachi na mmejuputa ochie ma biko. dejupụta fọm nsogbu.
testing
Ụzọ ọhụrụ T.Onukwu и B.Context weghachi onodu atufuru ka emechara ule a na tupu emechaa ọrụ mkpocha ule.
Ụzọ ọhụrụ T.Chdir и B.Chdir enwere ike iji gbanwee ndekọ ọrụ maka oge ule ma ọ bụ akara aka.
ederede / ndebiri
Ndebiri ugbu a na-akwado oke-over-func yana oke-over-int.
oge
Time ugbu a na-arụ ọrụ interfaces encoding.binaryappender и encoding.TextAppender.
Ports
Linux
Dị ka ọ dị mara ọkwa Dabere na ndetu ntọhapụ Go 1.23, Go 1.24 chọrọ ụdị kernel Linux 3.2 ma ọ bụ karịa.
Darwin
Go 1.24 bụ ntọhapụ ikpeazụ ga-agba na macOS 11 Big Sur. Go 1.25 ga-achọ macOS 12 Monterey ma ọ bụ mgbe e mesịrị.
WebAssembly
The go:wasmexport compiler direction ka agbakwunyere na Go program iji bupu ọrụ na WebAssembly host.
N'ime ihe nleba anya nke sistemu WebAssembly System 1 (GOOS=wasip1 GOARCH=wasm), Go 1.24 na-akwado iwu mmemme Go dị ka reactor/ụlọ akwụkwọ site n'ịkọwapụta ọkọlọtọ wuo -buildmode=c-shared.
A na-anabata ụdị ndị ọzọ ugbu a dị ka arụmụka ma ọ bụ ụdị nsonaazụ maka aga: ọrụ wasmimport. Karịsịa, bool, string, uintptr na pointers na ụdị ụfọdụ ka anabatara (lee nkọwa na akwụkwọ), yana 32-bit na 64-bit integer na ụdị ihe na-ese n'elu mmiri, na enweghị nchekwa.Pointer, nke ekwelarị. A na-anabatakwa ụdị ndị a dị ka arụmụka ma ọ bụ ụdị nsonaazụ maka aga: ọrụ wasmexport.
Ebugharịla faịlụ nkwado maka WebAssembly na lib/wasm si misc/wasm.
A na-ebelata akara ukwu ebe nchekwa nke mbụ, ọkachasị maka obere ngwa WebAssembly.
Windows
32-bit windo/ọdụ ụgbọ mmiri (GOOS=windows GOARCH=ogwe) ka agbajiwo. Nkọwa n'ime #70705
isi: linux.org.ru
