Tokollo e ncha ea puo ea Go, mofuta oa 1.24, e tla ka mor'a likhoeli tse tšeletseng E-ea 1.23. Bongata ba liphetoho ke ts'ebetsong ea ketane ea lisebelisoa, nako ea ho sebetsa le lilaeborari. Joalo ka mehla, tokollo e fana ka tšepiso ea ho lumellana Tsamaea 1. Baqapi ba lipuo ba lebeletse hore hoo e ka bang mananeo ohle a Go a tla tsoela pele ho bokella le ho sebetsa joaloka pele.
Liphetoho puong
Go 1.24 hona joale e tšehetsa ka botlalo li-aliase tsa mofuta o tloaelehileng: mofuta oa alias o ka beoa parameter joalo ka mofuta o phatlalalitsoeng. Lintlha ka litlhaloso tsa puo. Hajoale, tšobotsi ena e ka emisoa ka ho beha GOEXPERIMENT=noaliastypeparams; Leha ho le joalo, khetho ea aliastypeparams e tla tlosoa ho Go 1.25.
Lisebelisoa
Eya taelo
Li-modules tsa Go hona joale li ka tseba ho latela litšepiso tse ka phethehang li sebelisa taelo ea sesebelisoa ho go.mod. Sena se tlosa tlhoko ea mosebetsi o fetileng oa ho eketsa lisebelisoa joalo ka thepa e se nang letho faeleng eo hangata e bitsoang "tools.go". Taelo ea lisebelisoa tsa ho ea joale e ka tsamaisa lisebelisoa tsena ho kenyelletsa lisebelisoa tse tlang le Go. Lintlha tse ling li ka fumanoa ho litokomane.
Letlapa le lecha la -tool for go fumana le etsa hore litaelo tsa lisebelisoa li eketsoe mojuleng oa hajoale bakeng sa liphutheloana tse boletsoeng ntle le ho kenyelletsa ho hloka litaelo.
E ncha sesebelisoa sa meta-pattern e bua ka lisebelisoa tsohle tse mojulung oa hajoale. Sena se ka sebelisoa ho li nchafatsa kaofela ka go fumana sesebelisoa, kapa ho li kenya bukeng ea hau ea GOBIN ka sesebelisoa sa ho kenya.
Lisebelisoa tse entsoeng ka go run 'me mokhoa o mocha oa ho sebetsa o se o bolokiloe ka har'a cache ea Go build. Sena se etsa hore ho buloa khafetsa ho khonehe ka lebaka la cache e ntseng e eketseha. #69290.
The go aha le ho kenya litaelo hona joale amohela -json folakha, e tlalehang sephetho le liphoso joalo ka tlhahiso e hlophisitsoeng ea JSON ho tlhahiso e tloaelehileng. Lintlha tsa sebopeho li ka bonoa ho go help buildjson.
Ho feta moo, e-ea test -json joale o tlaleha sephetho le liphoso tsa ho aha ho JSON, tse kopantsoeng le sephetho sa tlhahlobo sa JSON. Li ka khetholloa ka mefuta e mecha ea Action, empa haeba li baka mathata tsamaisong ea ho kopanya liteko, u ka khutlela morao ho tlhahiso ea mongolo oa moaho ka. GODEBUG setup getestjsonbuildtext=1.
Phapang e ncha ea tikoloho ea GOAUTH e fana ka mokhoa o feto-fetohang oa ho fana ka tumello ea ho hula mojule oa poraefete. U ka bona lintlha ho go help goauth.
Hona joale taelo ea ho haha e kentsoe mofuta oa mojulu o moholo ho binary e hlophisitsoeng, e ipapisitseng le tag le/kapa boitlamo ba taolo ea mofuta. Sehlongoana sa + litšila se tla eketsoa haeba ho na le liphetoho tse sa ikemisetsoang. The -buildvcs=folakha ea bohata e ka sebelisoa ho siea tlhaiso-leseling ea taolo ea mofuta ho tsoa ho binary.
E ncha GODEBUG setup toolchaintrace=1 joale e ka sebelisoa ho lekola ts'ebetso ea khetho ea toolchain ka taelo ea go.
Cgo
Cgo e tšehetsa litlhaloso tse ncha tsa mesebetsi ea C ho ntlafatsa ts'ebetso ea nako ea ho sebetsa. #cgo noescape cFunctionName e bolella moqapi hore mohopolo o fetiselitsoeng ho C function cFunctionName ha oa phonyoha. #cgo nocallback cFunctionName e bolella moqapi hore C function cFunctionName ha e khutlisetse mesebetsi efe kapa efe ea Go. Lintlha tse ling li ka fumanoa ho cgo litokomane.
Cgo hajoale e hana ho kopanya mehala ho ts'ebetso ea C e nang le liphatlalatso tse ngata tse sa lumellaneng. Mohlala, haeba f e phatlalatsoa e le lefeela f(int) le void f(double), cgo e tla tlaleha phoso ho fapana le ho hlahisa tatelano e fosahetseng ea mohala f(0). E ncha tokollong ena e ntlafalitsoe ho lemoha boemo bona ba phoso ha liphatlalatso tse sa lumellaneng li hlaha lifaeleng tse fapaneng. #67699.
Objdump
Hona joale sesebelisoa sa objdump se tšehetsa disassembly ho 64-bit LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64), le S390X (GOARCH=s390x).
Vet
Sehlahlobi se secha sa liteko se tlaleha liphoso tse tloaelehileng tlhahlobong, fuzzer, benchmark, le mehlala ea liphatlalatso ka har'a lisutu tsa liteko, joalo ka mabitso a sa nepahalang, mesaeno e fosahetseng, kapa mehlala e ngolang lintlha tse le sieo. Tse ling tsa liphoso tsena li ka etsa hore liteko li hlolehe.
printf parser e teng hona joale e tlaleha tlhahlobo ea mehala ea foromo fmt.Printf(s), moo s e leng mohala o sa fetoheng o se nang likhang tse ling. Mehala e joalo e batla e le phoso, kaha boleng ba s bo kanna ba ba le sebopeho sa %; sebelisa fmt.Printa ho e-na le hoo. 60529. Cheke ena e atisa ho fumana lintho ho khoutu e teng, 'me ka hona e sebelisoa feela ha mofuta oa puo (joalokaha o hlalositsoe ke go directive ea faele ea go.mod kapa maikutlo a `//go:build`) bonyane e le Go 1.24, ho qoba ho baka likarohano tse telele tsa kopanyo ha u ntlafatsa ho ea ho Go 1.24 toolchain.
Mohlahlobi oa li-buildtag o teng hona joale o tlaleha tlhahlobo ea mafu ha ho na le li-buildtag tse fosahetseng khale phetolelo haha moedi Kena ka taelo ea //go:build. Mohlala, //go:build go1.23.1 e bua ka tokollo ea ntlha; ho e-na le hoo sebelisa //go:build go1.23. #64127.
Mohlahlobi o teng oa ho kopitsa hona joale o tlaleha tlhahlobo ha phapano e phatlalatsoa ka har'a lupu ea "for" triple, joalo ka bakeng sa i := iter(); entse(i); i = latelang(i) { … }, e na le sync.Locker, joalo ka sync.Mutex. E-ea 1.22 e fetotse boits'oaro ba li-loops tse joalo ho theha mofuta o mocha bakeng sa phetisetso e 'ngoe le e' ngoe, ho kopitsa litekanyetso ho tsoa ho iteration e fetileng; Ho kopitsa hona ha ho bolokehe bakeng sa liloko. #66387.
GOCACHEPROG
Mokhoa oa ka hare oa cmd/go binary le test caching mechanism o ka sebelisoa ka mekhoa ea bana e sebelisang protocol ea JSON pakeng tsa sesebelisoa sa cmd/go le mokhoa oa ngoana o bitsoang GOCACHEPROG tikoloho e fapaneng. Pele e ne e le ea GOEXPERIMENT. Lintlha tsa protocol li ka bonoa ho litokomane.
Nako ea ho phethela
Lintlafatso tse 'maloa tsa ts'ebetso ea nako ea nako ea ho sebetsa li fokolitse boleng ba CPU ka 2-3% ka kakaretso ho pholletsa le sehlopha sa lipalo tse emelang. Liphetho li ka fapana ho latela ts'ebeliso. Lintlafatso tsena li kenyelletsa ts'ebetso e ncha ea 'mapa e thehiloeng ho eona Litafole tsa Seswedishe, kabo e atlehileng haholoanyane ea memori ea ntho e nyane, le ts'ebetso e ncha ea nako ea kahare ea mutex.
Ts'ebetso e ncha ea 'mapa e hahelletsoeng ka hare le mutex e ncha ea nako ea ka hare e ka koaloa ka ho seta GOEXPERIMENT=noswissmap le GOEXPERIMENT=nospinbitmutex ka nako ea kaho, ka ho latellana.
Mokopanyi
Moqapi o ne a se a thibetse ho hlalosa mekhoa e mecha ka mefuta ea moamoheli e hlahisitsoeng ke cgo, empa ho ne ho khoneha ho sebetsa ho potoloha thibelo ena ka mofuta oa alias. Go 1.24 joale e lula e tlaleha phoso haeba moamoheli a bolela mofuta o hlahisitsoeng ke cgo, ebang ke ka kotloloho kapa ka tsela e sa tobang (ka mofuta oa alias).
Sehokelo
Hona joale sehokelo se hlahisa sets'oants'o sa GNU build (ELF entry NT_GNU_BUILD_ID) sethaleng sa ELF le UUID (taelo ea mojaro oa Mach-O LC_UUID) ho macOS ka boiketsetso. ID ea kaho kapa UUID e tsoa ho Go build ID. Sena se ka tingoa ka folakha ea -B none linker, kapa ea hlakisoa ka -B 0xNNNN sehokelo folakha ka boleng ba hexadecimal bo boletsoeng ke mosebelisi.
Khothatso
Joalokaha ho boletsoe ho Eya lintlha tsa tokollo tsa 1.22, Go 1.24 hona joale e hloka hore Go 1.22.6 kapa hamorao e kenngoe. Bahlahisi ba lebelletse hore Go 1.26 e tla hloka tokollo ea ntlha ea Go 1.24 kapa hamorao hore e phatlalatsoe.
Laeborari e Tloaelehileng
Ho fihlella tsamaiso ea lifaele tse thibetsoeng ka lethathamo
Mofuta o mocha os.motso E fana ka bokhoni ba ho etsa ts'ebetso ea sistimi ea faele ka har'a bukana e itseng.
Mosebetsi os.OpenRoot e bula directory ebe e khutlisa os.motso. Mekhoa ho os.motso sebetsa bukeng eo 'me u se ke ua lumella litsela ho bua ka libaka tse ka ntle ho bukana, ho kenyelletsa le tse latelang lihokelo tsa tšoantšetso ka ntle ho bukana. Mekhoa e ho os.Root e bonts'a boholo ba ts'ebetso ea sistimi e fumanehang ka har'a sephutheloana sa os, ho kenyelletsa, mohlala, os.Motso.Bula, os.Motso.Bopa, os.Motso.Mkdir и os.Motso.Stat.
Karolo e ncha ea benchmark
Li-benchmark joale li ka sebelisa mokhoa o potlakileng, o se nang liphoso teko.B.Loop ho pheta-pheta boemo bo kang ba b.Loop() { ... } sebakeng sa lilupu tse tloaelehileng tse kenyelletsang bN joalo ka mofuta oa bN Sena se fana ka melemo e 'meli ea bohlokoa:
- Ts'ebetso ea benchmark e etsoa hanngoe ka palo, kahoo mehato e theko e boima ea ho seta le ho hloekisa e etsoa hang feela.
- Mekhahlelo ea mehala ea ts'ebetso le liphetho li lula li tsoela pele, li thibela moqapi ho ntlafatsa ka botlalo 'mele oa loop.
Maqephe a ntlafetseng
Karolo e ncha nako ea ho sebetsa.AddCleanup ke mokhoa oa ho phethela o tenyetsehang haholoanyane, o sebetsang hantle, hape o na le liphoso tse fokolang ho feta nako ea ho sebetsa.SetFinalizer. AddCleanup e kopanya mosebetsi oa ho hloekisa nthong e tla tsamaisoa hang ha ntho e sa fumanehe. Leha ho le joalo, ho fapana le SetFinalizer, ho hloekisa ka makhetlo a mangata ho ka kopanngoa le ntho e le 'ngoe, ho hloekisa ho ka kopanngoa le lintlha tse ka hare, ho hloekisa hangata ha ho bakise ho lutla ha lintho li theha potoloho,' me ho hloekisa ha ho liehe ho tsamaisa ntho kapa lintho tseo e li supang. Khoutu e ncha e lokela ho khetha AddCleanup ho feta SetFinalizer.
Sephutheloana se secha se fokolang
Sephutheloana se secha e fokola e fana ka litsupa tse fokolang.
Lits'oants'o tse fokolang ke tsa maemo a tlase tse fanoeng bakeng sa ho theha meaho e bolokang mohopolo hantle joalo ka lidikishinari tse fokolang tsa boleng ba 'mapa, dictionaries tsa canonicalization bakeng sa eng kapa eng e sa kengoang ke sephutheloana. buka e ikhethang, le mefuta e fapaneng ea li-cache. Ho tšehetsa linyeoe tsena tsa tšebeliso, tokollo ena e boetse e fana ka nako ea ho sebetsa.AddCleanup и maphash.Bapisa.
Sephutheloana se secha sa crypto/mlkem
Sephutheloana se secha crypto/mlkem lisebelisoa tsa ML-KEM-768 le ML-KEM-1024.
ML-KEM ke mokhoa oa phapanyetsano oa senotlolo oa post-quantum, oo pele o neng o tsejoa e le Kyber mme o hlalositsoe ho Boemo 203.
Liphutheloana tse ncha crypto/hkdf, crypto/pbkdf2 le crypto/sha3
Sephutheloana se secha crypto/hkdf e kenya tšebetsong ts'ebetso ea "Extract-and-Expand" e thehiloeng ho HMAC ea HKDF joalo ka ha e hlalositsoe ho RFC 5869.
Sephutheloana se secha crypto/pbkdf2 e sebelisa ts'ebetso ea senotlolo e thehiloeng ho password ea PBKDF2 joalo ka ha e hlalositsoe ho RFC 8018.
Sephutheloana se secha crypto/sha3 e kenya tšebetsong SHA-3 hash le SHAKE le cSHAKE mesebetsi e atolositsoeng ea tlhahiso joalo ka ha e hlalositsoe ho Boemo 202.
Liphutheloana tsena tse tharo li ipapisitse le liphutheloana tse teng tsa golang.org/x/crypto/….
FIPS 140-3 Compliance
Tokollo ena e kenyelletsa mekhoa e mecha ea ho netefatsa hore FIPS 140-3 e latela melao.
Mojule oa Go crypto ke sehlopha sa liphutheloana tse tloaelehileng tsa laeborari tse sebelisoang pepeneneng ho kenya tšebetsong li-algorithms tse amohetsoeng tsa FIPS 140-3. Likopo ha li hloke liphetoho ho sebelisa mochini oa Go crypto bakeng sa li-algorithms tse amohetsoeng.
Phapang e ncha ea tikoloho GOFIPS140 e ka sebelisoa ho khetha mofuta oa mochini oa Go crypto oo o ka o sebelisang moahong. E ncha GODEBUG setup fips140 e ka sebelisoa ho nolofalletsa mokhoa oa FIPS 140-3 ka nako ea ho sebetsa.
Go 1.24 e kenyelletsa Go crypto module v1.0.0, eo hajoale e ntseng e lekoa ka lab e amohetsoeng ke CMVP.
Teko e ncha ea sephutheloana sa liteko/synctest
Sephutheloana se secha sa liteko tekolo/synctest E fana ka tšehetso bakeng sa ho lekola khoutu ka nako e le 'ngoe.
- Mosebetsi synctest.run e tsamaisa sehlopha sa li-goroutines ka "bubble" e ka thoko. Ka bubble ea mosebetsi oa sephutheloana nako sebetsa ka ditshupanako tsa bohata.
- Mesebetsi synctest.ema ema ho fihlela li-goroutine tsohle li koetsoe ho bubble ea hajoale.
Lintlha li ka fumanoa litokomaneng tsa sephutheloana.
Sephutheloana sa synctest ke sa liteko 'me se tlameha ho etsoa ka ho seta GOEXPERIMENT=synctest. Sephutheloana sa API se ka fetoha ho litokollo tse tlang. IN #67434 U ka bona lintlha tse ling 'me ua fana ka maikutlo.
Liphetoho tse nyane laeboraring
diario
Ts'ebetso ea (*Writer.AddFS) ho archive/zip le archive/tar joale ngola sehlooho sa bukana bakeng sa bukana e se nang letho.
li-bytes
Package li-bytes e eketsa mesebetsi e mengata e sebetsang le li-iterators:
- Lines E khutlisa mohalaleli holim'a likhoele tse arohaneng tsa mola o mocha ka selae sa byte.
- SplitSeq e khutlisetsa iterator holim'a likaroloana tsohle tsa selae sa byte se arotsoeng ke searohanyi.
- SplitAfterSeq e khutlisetsa iterator holim'a likaroloana tsa selae sa byte, se arohaneng ka mor'a ketsahalo e 'ngoe le e 'ngoe ea karohano.
- FieldsSeq e khutlisetsa iterator holim'a likaroloana tsa selae sa byte ho potoloha tatellano ea litlhaku tsa sebaka, joalo ka ha ho hlalositsoe unicode.IsSpace
- FieldsFuncSeq e khutlisetsa iterator holim'a likaroloana tsa selae sa byte ho potoloha tatellano ea lintlha tsa khoutu ea Unicode e khotsofatsang leetsi.
crypto/aes
Boleng ba ho khutlisa NewChipher ha e sa sebelisa mekhoa ea NewCTR, NewGCM, NewCBCEncrypter, le NewCBCDecrypter. Mekhoa ena e ne e se na litokomane ebile e sa fumanehe meahong eohle ea meralo. Joale moelelo Thibela e tlameha ho fetisetsoa ka kotloloho mesebetsing e nepahetseng crypto/cipher. Hona joale, crypto / cipher e ntse e hlahloba mekhoa ena ho litekanyetso tsa Block, le hoja li se li sa tšehetsoe ke laebrari e tloaelehileng.
crypto/cipher
Karolo e ncha NewGCMWithRandomNonce kgutlisetso AEAD, e sebelisang AES-GCM ka ho hlahisa nonce e sa reroang nakong ea Tiiso le ho e etsa esale pele ho ea ho ciphertext.
Ts'ebetsong Phallela, e khutlile NewCTR ha e sebelisoa le crypto/aes hona joale ka makhetlo a 'maloa ka potlako ho amd64 le arm64.
NewOFB, NewCFBEncrypter и NewCFBDDecrypter joale li phatlalatsoa hore ha li sa sebetsa. Mefuta ea OFB le CFB ha e na netefatso, eo hangata e lumellang litlhaselo tse sebetsang ho thetsa le ho khutlisa mongolo o hlakileng. Lisebelisoa li khothaletsoa ho sebelisoa AEAD ka puseletso. Haeba mokhoa o sa netefatsoang Phallela e hlokahalang, e ka sebelisoa NewCTR ka puseletso.
crypto/ecdsa
PrivateKey.Letshwao hona joale bopa tekeno deterministic ho latela RFC 6979, haeba mohloli oa tšohanyetso o se teng.
crypto/md5
Boleng ba ho khutlisa md5.ncha, hona joale e boetse e sebelisa sebopeho khouto.binaryappender.
crypto/ranta
Mosebetsi Buisa hona joale e tiisa hore ha ho na liphoso. Haeba Bala o kopana le phoso ha o bala Reader, lenaneo le tla fela ka ho sa feleng. Ela hloko hore Sebali sa kamehla se ngotsoe hore se sebetse ka katleho kamehla, kahoo phetoho ena e tlameha ho ama feela mananeo a fetisang phapang ea Sebali. Mokhelo o le mong ke Linux kernels pele ho 3.17, moo Reader ea kamehla e ntseng e bula /dev/urandom mme e kanna ea hloleha.
Ho Linux 6.11 le hamorao, Reader joale e sebelisa mohala oa sistimi ea getrandom ka vDSO. Sena se potlakile ka makhetlo a 'maloa, hangata bakeng sa lipalo tse nyane.
Ho OpenBSD Reader joale e sebelisa arc4random_buf(3).
Karolo e ncha Text joale e ka hlahisa likhoele tsa mongolo tse sireletsehileng ka mokhoa o ikhethileng.
crypto/rsa
HlahisaKey joale e khutlisa phoso haeba bolelele ba senotlolo bo ka tlase ho 1024 bits bo kopuoa. Mekhoa eohle ea Sign, Verify, Encrypt, le Decrypt joale e khutlisa phoso haeba e sebelisoa ka boholo ba senotlolo bo ka tlase ho 1024 bits. Linotlolo tse joalo ha lia sireletseha 'me ha lia lokela ho sebelisoa. Ho theha GODEBUG rsa1024min=0 e tsosolosa boitšoaro ba khale, empa baetsi ba Go ba khothalletsa ho etsa sena hafeela ho hlokahala le litekong feela, mohlala ka ho eketsa mola //go:debug rsa1024min=0 faeleng ea teko. E ncha mohlala GenerateKey e fana ka senotlolo sa tlhahlobo sa 2024-bit se bonolo ho se sebelisa.
Hona joale ho bolokehile ebile ho sebetsa hantle ho letsa PrivateKey.Bolela pele ho PrivateKey.Tiisa. Precompute e se e potlakile ka ho ba teng ha karolo e tlatsitsoeng PrecomputedValues, ka mohlala ha u ntša senotlolo ho JSON.
Hona joale sephutheloana se hana linotlolo tse ling tse sa sebetseng le ha Validate e sa bitsoa, le HlahisaKey joale e ka khutlisa liphoso tse ncha bakeng sa mehloli e sa sebetseng e robehileng. Masimo Litlhahiso и E entsoeng esale pele dibopeho PrivateKey li se li sebelisoa ebile li netefalitsoe le ha litekanyetso tse ling li le sieo. Ho boetse ho na le liphetoho ho crypto/x509 bakeng sa ho qaqisa le ho ntša linotlolo tsa RSA, tse hlalositsoeng ka tlase.
LetšoaoPKCS1v15 и NetefatsaPKCS1v15 joale tšehetsa SHA-512/224, SHA-512/256 le SHA-3.
HlahisaKey hona joale o sebelisa mokhoa o fapaneng hanyane ho hlahisa exponent ea poraefete (Carmichael function sebakeng sa Euler function). Lisebelisoa tse sa tloaelehang tse nchafatsang linotlolo ho tsoa ho linomoro tsa mantlha feela li ka hlahisa liphetho tse fapaneng empa tse lumellanang.
Ts'ebetso ho linotlolo tsa sechaba le tsa poraefete hajoale e potlakile ho isa ho makhetlo a mabeli ho wasm.
crypto/sha*
- crypto/sha1: boleng ba ho khutlisa sha1.Ncha hona joale e boetse e kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender.
- crypto/sha256: boleng bo khutlisitsoe sha256.Ncha и sha256.New224 hona joale hape kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender.
- crypto/sha512: boleng bo khutlisitsoe sha512.Ncha, sha512.New384, sha512.New512_224 и sha512.New512_256, hona joale hape kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender.
crypto/subtle
Karolo e ncha KaDataIndependentTiming e lumella mosebelisi ho etsa tšebetso e nang le likarolo tse ikhethileng tsa meaho tse nolofalitsoeng tse netefatsang hore litaelo tse itseng ha li fetoloe ho latela nako ea boleng ba data. Sena se ka sebelisoa ho netefatsa hore khoutu e ngotsoeng hore e sebetse ka nako e sa fetoheng ha e so ntlafatsoe ke mesebetsi ea boemo ba processor hore e sebetse ka nako e fapaneng. Hajoale WithDataIndependentTiming e sebelisa PSTATE.DIT bit on arm64 mme ha e etse letho meahong e meng kaofela. Ho theha GODEBUG dataindependenttiming=1 e nolofalletsa DIT mokhoa bakeng sa lenaneo lohle la Go.
fihlela qeto e XORBytes e tlameha ho kopana ka botlalo kapa che ho hang le kenyeletso. Pele boitšoaro bo ne bo sa hlalosoa ka tsela e 'ngoe, athe XORBytes e tla tšoha.
crypto/tls
Seva ea TLS joale e tšehetsa Client Hello (ECH) e Encrypted. Tšobotsi ena e ka khoneha ka ho tlatsa tšimo. Config.EncryptedClientHelloKeys.
Mokhoa o Mocha oa Phapanyetsano ea Key Post-Quantum X25519MLKEM768 hona joale e tšehetsoa le ho nolofalloa ke kamehla ha Config.CurvePreferences ha e na. Ho theha GODEBUG tlsmlkem=0 e khutlisa ea kamehla.
Ts'ehetso bakeng sa phapanyetsano ea senotlolo ea X25519Kyber768Draft00 ea liteko e tlositsoe.
Taelo ea bohlokoa ea phapanyetsano joale e sebetsoa ka botlalo ke sephutheloana sa crypto/tls. Taelo Config.CurvePreferences e se e hlokomolohuoe 'me litaba tse ka hare li sebelisoa feela ho fumana hore na ke phapanyetsano efe ea bohlokoa e lokelang ho kenyelletsoa ha tšimo e tlatsitsoe.
Sebaka se secha ClientHelloInfo.Extensions E thathamisa lenane la litlhahiso tsa katoloso tse amohetsoeng ho molaetsa oa Hello moreki. Sena se ka ba molemo bakeng sa bareki ba TLS ba hatisang menoana.
crypto/x509
Ho theha GODEBUG x509sha1 e tlositsoe. Setifikeiti.Netefatsa ha e sa tšehetsa li-signature tse thehiloeng ho SHA-1.
OID hona joale e sebelisa li-interfaces khouto.binaryappender и khouto.TextAppender.
Sebaka sa pholisi sa setifikeiti sa kamehla se fetotsoe ho tloha ho Litlhahiso tsa Leano mabapi le Setifikeiti.Maano. Ha ho aroloa litifikeiti, likarolo tseo ka bobeli li tla ba le batho ba bangata, empa ha ho etsoa leano la setifikeiti, li tla nkuoa sebakeng sa Setifikeiti.Policies sebakeng sa Setifikeiti.PolicyIdentifiers. Phetoho ena e ka khutlisoa. GODEBUG setup x509usepolicies=0.
CreateCertificate joale e tla hlahisa nomoro ea serial e sebelisa mokhoa o lumellanang le RFC 5280 ha o fetisa sebaka sa template. Nomoro ea Setifikeiti nil, sebakeng sa ho thula.
Setifikeiti.Netefatsa hona joale e ts'ehetsa netefatso ea leano joalo ka ha ho hlalositsoe ho RFC 5280 le RFC 9618. Sebaka se secha VerifyOptions.CertificatePolicies e ka hlophisoa ho sehlopha se amohelehang sa maano Li-OID. Ke liketane tsa setifikeiti tse nang le li-graph tsa pholisi tse nepahetseng feela tse tla khutlisoa ho tsoa Setifikeiti.Netefatsa.
MarshalPKCS8PrivateKey joale e khutlisa phoso ho fapana le ho fumana senotlolo se sa sebetseng sa RSA. (MarshalPKCS1PrivateKey ha e na phoso, 'me boitšoaro ba eona ha ho fanoa ka linotlolo tse sa nepahaleng e lula e sa hlalosoa.)
ParsePKCS1PrivateKey и ParsePKCS8PrivateKey joale sebelisa le ho netefatsa litekanyetso tsa CRT tse kentsoeng, kahoo li ka hana linotlolo tse sa sebetseng tsa RSA tse neng li amohetsoe pele. Tšebeliso GODEBUG litlhophiso x509rsacrt=0 e kgutlela ho baleng botjha ba boleng ba CRT.
debug/elf
Package debug/elf E eketsa tšehetso bakeng sa ho sebetsana le liphetolelo tsa matšoao ho lifaele tsa ELF (Executable and Linkable Format). Mokhoa o mocha File.DynamicVersions E khutlisa lenane la liphetolelo tse fetotsoeng tse hlalositsoeng faeleng ea ELF. Mokhoa o mocha File.DynamicVersionNeeds E khutlisa lethathamo la liphetolelo tse matla tse hlokoang ke faele ena ea ELF tse hlalositsoeng ho lintho tse ling tsa ELF. Qetellong, masimo a macha Letšoao.HasVersion и Letšoao.VersionIndex bontsha mofuta wa letshwao.
Ho kenyelletsa
Li-interfaces tse peli tse ncha TextAppender и BinaryAppender li ile tsa hlahisoa ho kenya mongolo kapa boemeli ba binary ba ntho ho selae sa byte. Li-interfaces tsena li fana ka ts'ebetso e ts'oanang le TextMarshaler и BinaryMarshaler, empa ho e-na le ho fana ka selae se secha nako le nako, ba kopanya data ka ho toba selae se seng se ntse se le teng. Likhokahano tsena hajoale li sebelisoa ke mefuta e tloaelehileng ea laeborari e seng e ntse e sebelisa TextMarshaler le/kapa BinaryMarshaler.
encoding/json
Ha ho hahoa, sebaka sa sebopeho se nang le khetho e ncha ea omitzero ho tag ea tšimo ea sebopeho se tla siuoa haeba boleng ba sona e le zero. Haeba mofuta oa tšimo o na le mokhoa oa IsZero () bool, o tla sebelisoa ho fumana hore na boleng ke zero. Ho seng joalo boleng e tla ba zero haeba e boleng ba lefeela bakeng sa mofuta oa eona. Omitzero field tag e hloekile ebile e na le liphoso tse fokolang ho feta ho tlohela lintho ha sepheo e le ho siea boleng ba lefeela. Haholo-holo, ho fapana le omitempty, omitzero e siea zero nako.nako litekanyetso, e leng mohloli o tloaelehileng oa mathata.
Haeba ka bobeli omitempty le omitzero li hlalositsoe, lebala le tla siuoa haeba boleng bo se na letho kapa zero (kapa ka bobeli).
UnmarshalTypeError.Field hona joale e kenyelletsa meaho e hahelletsoeng ho fana ka melaetsa e felletseng ea liphoso.
tsamaea/mefuta
Mehaho eohle ea data ea go/type e pepesang tatellano ea mekhoa, joalo ka Len() int le At(int) T, hona joale e na le mekhoa e khutlisetsang li-iterators, e lumellang khoutu e bonolo joalo ka ena:
params := fn.Mofuta.(*mefuta.Tshaeno).Params() bakeng sa i := 0; ke < params.Len(); i++ {sebelisa(params.At(i))}
Tabeng ena:
for param := range fn.Signature().Params().Variables() {sebelisa(param)}
Mekhoa: Interface.EmbeddedTypes Sehokelo.Mekhoa e Hlakileng Sehokedi.Mekgwa MethodSet.Mekhoa E bitsoa.Mekhoa Bophara.Bana Sebopeho.Mabala Tuple.Mefuta-futa TypeList.Mefuta TypeParamList.TypeParams Union.Melao
hashe/*
- hash/adler32: boleng ba ho khutlisa New, hona joale e boetse e sebelisa sebopeho khouto.binaryappender
- hash/crc32: boleng bo khutlisitsoe New и NewIEEE, hona joale hape kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender
- hash/crc64: boleng ba ho khutlisa New, hona joale e boetse e sebelisa sebopeho khouto.binaryappender
- hash/fnv: boleng bo khutlisitsoe New32 E ncha32a New64 E ncha64a New128 и E ncha128a, hona joale hape kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender
- hash/maphash: likarolo tse ncha E ka bapisoa и WriteComparable e ka bala hashe ea boleng bofe kapa bofe bo ka bapisoang. Sena se o lumella ho hash eng kapa eng e ka sebelisoang e le senotlolo sa dikishinari sa Go.
logi/ lekgoa
E ncha LahlaHandler ke sesebelisoa se sa sebetseng le ka mohla se lahlang tlhahiso ea sona.
Nete и LevelVar hona joale kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.TextAppender.
lipalo/*
- lipalo/e kholo: Float, Int и boeletsi hona joale kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.TextAppender.
- lipalo/ranta: mehala e tlositsoeng ea tšebetso ea boemo bo holimo Peō ha e sa na phello. Ho tsosolosa boitšoaro ba khale, u ka sebelisa GODEBUG setup randseednop=0. Litaba tse ling ho fana ka 67273.
- lipalo/rand/v2: ChaCha8 и PCG hona joale kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender.
letlooa
ListenCondig hona joale e sebelisa MPTCP ka ho sa feleng litsamaisong moo e tšehetsoang (hona joale ke Linux feela).
IP hona joale e sebelisa sebopeho sa interface khouto.TextAppender.
net/http
Thibelo e fetohile Transport ho likarabo tsa 1xx tse amohetsoeng ho latela kopo. Pele sena se ne se tla emisa kopo mme se khutlisetse phoso ka mor'a ho fumana likarabo tse fetang 5 1xx. Hona joale sena se khutlisa phoso feela haeba boholo ba likarabo tsohle tsa 1xx bo feta tlhophiso ea config Transport.MaxResponseHeaderBytes.
Hape, ha kopo e na le hook ea ho latela net/http/httptrace.ClientTrace.Got1xxResponse, joale ha ho na moeli ho palo eohle ea likarabo 1xx. Hook ea Got1xxResponse e ka khutlisa phoso ho emisa kopo.
Transport и Seva joale e-ba le tšimo ea HTTP2 e lumellang ho hlophisoa ha litlhophiso tsa protocol ea HTTP/2.
Libaka tse ncha Seva.Protocols и Lipalangoang.Protocols fana ka mokhoa o bonolo oa ho hlophisa liprothokholi tsa HTTP tseo seva kapa moreki a li sebelisang.
Seva le moreki li ka hlophisoa ho ts'ehetsa likhokahano tse sa ngolisoang tsa HTTP/2.
Ha Seva.Protocols e na le UncrypterHTTP2, seva e tla amohela likhokahano tsa HTTP/2 likoung tse sa ngolisoang. Seva e ka amohela HTTP/1 le HTTP/2 e sa ngolisoang ka bobeli boema-kepeng bo le bong.
Ha Lipalangoang.Protocols e na le UnencryptedHTTP2 mme ha e na HTTP1, sepalangoang se tla sebelisa HTTP/2 e sa ngolisoang bakeng sa liaterese. http://. Haeba sepalangoang se lokiselitsoe ho sebelisa HTTP/1 ka bobeli le HTTP/2 e sa ngolisoang, se tla sebelisa HTTP/1.
Tšehetso bakeng sa HTTP/2 e sa ngolisoang e sebelisa "HTTP/2 e nang le Forward-Learning" (RFC 9113, karolo ea 3.3). Sehlooho se lahliloeng "Ntlafatsa: h2c" ha se tšehetsoe.
net/ netip
Addr, AddrPort и Selelekela hona joale sebelisa li-interfaces khouto.binaryappender и khouto.TextAppender.
net/url
URL hona joale e boetse e kenya tshebetsong segokanyimmediamentsi sa sebolokigolo khouto.binaryappender.
os/mosebedisi
Ho Windows Current joale e ka sebelisoa ho Windows Nano Server. Ts'ebetsong e ntlafalitsoe ho qoba ho sebelisa mesebetsi ho tsoa laebraring ea NetApi32, e sieo ho Nano Server.
Ho Windows Current, Ho sheba и LookupId joale e ts'ehetsa liakhaonto tse latelang tsa ts'ebeletso ea basebelisi:
- NTJELENG MOTSAMAI
- NT TŠEBELETSO EA MOLAOLI
- NT AUETSI EA BOTSOALLE MOSEBETSI
Ho Windows Current e ile ea potlakisa haholo ha mosebelisi oa hajoale a kopantsoe le sebaka se liehang, e leng ntho e tloaelehileng ho basebelisi ba bangata ba likhoebo. Ts'ebetso e ncha ea ts'ebetsong e se e le ka tatellano ea li-milliseconds, ha e bapisoa le ts'ebetsong e fetileng, e ka nkang metsotsoana e mengata, esita le metsotso, ho phethoa.
Ho Windows Current joale e khutlisa mosebelisi oa ts'ebetso ha khoele ea hajoale e etsa mosebelisi e mong. Pele sena se khutlisitse phoso.
regexp
Regexp hona joale e sebelisa sebopeho sa interface khouto.TextAdapter.
nako ea nako
Mosebetsi KHOTSO ha joale e tlositsoe. Libakeng tse ncha, u lokela ho khetha ho sebelisa mokhoa oa tsamaiso ho hlalosa "ea" binary, 'me u sebelise go env GOROOT ho hlalosa GOROOT.
likhoele
Package likhoele e eketsa mesebetsi e mengata ea ho sebetsa le li-iterators:
- Lines E khutlisa mofetoleli holim'a mela e arohaneng ea mela e mecha ka khoele.
- SplitSeq e khutlisa e pheta-pheta holim'a likhoele tse nyane tse arohaneng ke searohanya.
- SplitAfterSeq e khutlisetsa iterator holim'a likhoele tse nyane tsa khoele, e arohaneng ka mor'a ketsahalo e 'ngoe le e 'ngoe ea karohano.
- FieldsSeq e khutlisetsa iterator holim'a likhoele tse nyane tsa khoele ho potoloha tatellano ea litlhaku tsa sebaka se sesoeu, joalo ka ha ho hlalositsoeunicode.IsSpace
- FieldsFuncSeq E khutlisa mofetoleli holim'a likhoele tse nyane ho pota tatellano ea lintlha tsa khoutu tsa Unicode tse khotsofatsang leetsi.
lumellana
Ts'ebetsong sync.mapa e fetotsoe ho ntlafatsa tshebetso, haholoholo bakeng sa diphetoho tsa dikishinari. Mohlala, likhang tsa phetoho ea disjoint sete ha ho bonolo ho lidikishinari tse kholo, 'me ha e sa hloka nako ea ho haha ho fihlela likhang tse tlase tsa dikishinari.
Haeba u kopana le mathata, beha GOEXPERIMENT=nosynchashtriemap nakong ea kaho ho khutlela ts'ebetsong ea khale, ka kopo. tlatsa foromo ea bothata.
ho etsa diteko
Mekhoa e mecha T.Moemo и B.Moemo khutlisetsa moelelo o lahliloeng ka mor'a hore tlhahlobo e phethoe le pele mesebetsi ea ho hloekisa liteko e etsoa.
Mekhoa e mecha T.Chdir и B.Chdir e ka sebelisoa ho fetola bukana ea ho sebetsa nakong ea tlhahlobo kapa benchmark.
mongolo/template
Hona joale litempele li tšehetsa mefuta-futa-ea-sebetsa le range-over-int.
nako
Time hona joale e sebelisa li-interfaces khouto.binaryappender и khouto.TextAppender.
Likepe
Linux
Joalo ka ha ho bile tsebisitsoe Ho latela lintlha tsa tokollo tsa Go 1.23, Go 1.24 e hloka mofuta oa Linux kernel 3.2 kapa hamorao.
Darwin
Go 1.24 ke tokollo ea ho qetela e tla sebetsa ho macOS 11 Big Sur. Go 1.25 e tla hloka macOS 12 Monterey kapa hamorao.
WebAssembly
The go:wasmexport compiler directive e kenyellelitsoe ho Go mananeo a ho romela mesebetsi ho moamoheli oa WebAssembly.
Ho WebAssembly System Interface Preview 1 (GOOS=wasip1 GOARCH=wasm), Go 1.24 e ts'ehetsa ho aha lenaneo la Go joalo ka setsibi/laeborari ka ho hlakisa folakha ea mohaho -buildmode=c-shared.
Mefuta e meng e se e lumelletsoe joalo ka likhang kapa mefuta ea sephetho bakeng sa mesebetsi ea go:wasmimport. Haholo-holo, bool, string, uintptr le litsupa ho mefuta e itseng li lumelloa (sheba lintlha ho litokomane), mmoho le mefuta ya 32-bit le 64-bit integer le floating-point, le tse sa bolokehang.Pointer, tse seng di dumelletswe. Mefuta ena e boetse e lumelloa e le likhang kapa mefuta ea sephetho bakeng sa mesebetsi ea go:wasmexport.
Lifaele tsa tšehetso bakeng sa WebAssembly li fetiselitsoe ho lib/wasm ho tloha ho misc/wasm.
Mokhoa oa pele oa memori o fokotsehile haholo, haholo-holo bakeng sa lits'ebetso tse nyane tsa WebAssembly.
Windows
32-bit lifensetere/kou ea letsoho (GOOS=windows GOARCH=letsoho) e tšoailoe e robehile. Lintlha ka #70705
Source: linux.org.ru
