{"id":121950,"date":"2025-02-15T14:22:29","date_gmt":"2025-02-15T12:22:29","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/go-1-24"},"modified":"2025-02-15T14:22:29","modified_gmt":"2025-02-15T12:22:29","slug":"go-1-24","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/news\/go-1-24","title":{"rendered":"Go 1.24","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/21754\/original.png\" itemprop=\"contentURL\">            <img decoding=\"async\" alt=\"Go 1.24\" src=\"\/wp-content\/uploads\/2025\/02\/6d6299421d83951d055782658814425f.jpg\" style=\"display:block;margin: 0 auto;\" \/>                   <\/a>                       <noindex>      <noindex><\/p>\n<p>A Go program, version 1.24, is being released six months after <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/go1.23\">Go 1.23<\/a>. Most changes focus on the implementation of toolchain, runtime, and libraries. As always, the release provides <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/go1compat\">the promise of compatibility<\/a> Go 1. Developers of the language expect that almost all Go programs will continue to compile and run as before.<\/p>\n<p><\/noindex><\/noindex>  <\/p>\n<h2>Changes in the language<\/h2>\n<p> <noindex><\/p>\n<p>Go 1.24 now fully supports <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/46477\">generic type aliases<\/a>: a type alias can be parameterized as a declared type. Details can be found in <a rel=\"nofollow\" href=\"https:\/\/go.dev\/ref\/spec#Alias_declarations\">the language specification<\/a>. Currently, this feature can be disabled by setting GOEXPERIMENT=noaliastypeparams; however, the aliastypeparams option will be removed in Go 1.25.<\/p>\n<p><\/noindex> <\/p>\n<h2>Eszk\u00f6z\u00f6k<\/h2>\n<h3>The go team<\/h3>\n<p> <noindex><\/p>\n<p>Go modules can now track executable dependencies using the tool directive in go.mod. This eliminates the need for the previous workaround of adding tools as empty imports in a file commonly called 'tools.go'. The go tool command can now run these tools in addition to those supplied with Go. More information can be found in <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/modules\/managing-dependencies#tools\">dokument\u00e1ci\u00f3<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<p>The new -tool flag for go get adds the tool directive to the current module for specified packages in addition to adding requirement directives.<\/p>\n<p> <noindex><\/p>\n<p>\u00daj <a rel=\"nofollow\" href=\"https:\/\/go.dev\/cmd\/go#hdr-Package_lists_and_patterns\">the meta-pattern tool<\/a> refers to all tools in the current module. This can be used to update them all via go get tool or to install them in your GOBIN directory via go install tool.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Executable files created via go run and the new go tool behavior are now cached in the Go build cache. This makes repeated runs faster due to an increased cache. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/69290\">#69290<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<p>The go build and go install commands now accept the -json flag, which reports output and build errors as structured JSON output to standard output. Details of the format can be found in go help buildjson.<\/p>\n<p> <noindex><\/p>\n<p>Moreover, go test -json now reports output and build errors in JSON, intermixed with JSON test result output. They can be distinguished by new Action types, but if they cause issues in the testing integration system, you can revert to textual build output via <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">the GODEBUG setting<\/a> gotestjsonbuildtext=1.<\/p>\n<p><\/noindex> <\/p>\n<p>The new environment variable GOAUTH provides a flexible way to authenticate private module pulls. See details in go help goauth.<\/p>\n<p> <noindex><\/p>\n<p>The go build command now sets <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/runtime\/debug#BuildInfo.Main\">the version of the primary module<\/a> a leford\u00edtott bin\u00e1ris f\u00e1jlban, a c\u00edmke \u00e9s\/vagy a verzi\u00f3kezel\u0151 rendszer commitja alapj\u00e1n. A +dirty suffix hozz\u00e1ad\u00f3dik, ha nem ellen\u0151rz\u00f6tt v\u00e1ltoz\u00e1sok vannak. Haszn\u00e1lhatja a -buildvcs=false flaget, hogy kihagyja a verzi\u00f3kezel\u00e9si inform\u00e1ci\u00f3t a bin\u00e1risb\u00f3l.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>\u00daj <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">GODEBUG be\u00e1ll\u00edt\u00e1sa<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/toolchain#select\">toolchaintrace=1<\/a> most m\u00e1r haszn\u00e1lhat\u00f3 a go csapat k\u00f6r\u00fcli toolchain kiv\u00e1laszt\u00e1si folyamat k\u00f6vet\u00e9s\u00e9re.<\/p>\n<p><\/noindex> <\/p>\n<h3>Cgo<\/h3>\n<p> <noindex><\/p>\n<p>A Cgo \u00faj annot\u00e1ci\u00f3kat t\u00e1mogat a C f\u00fcggv\u00e9nyek teljes\u00edtm\u00e9ny\u00e9nek jav\u00edt\u00e1sa \u00e9rdek\u00e9ben. #cgo noescape cFunctionName azt mondja a ford\u00edt\u00f3nak, hogy a C f\u00fcggv\u00e9nynek, cFunctionName eljuttatott mem\u00f3ria nem sz\u00f6kik el. #cgo nocallback cFunctionName azt mondja a ford\u00edt\u00f3nak, hogy a C cFunctionName nem h\u00edv vissza Go f\u00fcggv\u00e9nyeket. T\u00f6bb inform\u00e1ci\u00f3 tal\u00e1lhat\u00f3 itt: <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/cmd\/cgo#hdr-Optimizing_calls_of_C_code\">cgo dokument\u00e1ci\u00f3<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>A Cgo most m\u00e1r elutas\u00edtja a C f\u00fcggv\u00e9nyek ford\u00edt\u00e1s\u00e1t, amelyeknek t\u00f6bb inkompatibilis deklar\u00e1ci\u00f3ja van. P\u00e9ld\u00e1ul, ha f-t egyszerre void f(int) \u00e9s void f(double) n\u00e9ven deklar\u00e1lt\u00e1k, a cgo hib\u00e1t fog jelezni az esetleges hib\u00e1s h\u00edv\u00e1si sorrend gener\u00e1l\u00e1sa helyett. \u00dajdons\u00e1g ebben a kiad\u00e1sban a hiba\u00e1llapot jobb \u00e9szlel\u00e9se, amikor az inkompatibilis deklar\u00e1ci\u00f3k k\u00fcl\u00f6nb\u00f6z\u0151 f\u00e1jlokban jelennek meg. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/67699\">#67699<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h3>Objdump<\/h3>\n<p>Az objdump eszk\u00f6z most m\u00e1r t\u00e1mogatja a 64 bites LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64) \u00e9s S390X (GOARCH=s390x) disassembly-t.<\/p>\n<h3>Vet<\/h3>\n<p>Az \u00faj tests elemz\u0151 gyakori hib\u00e1kat jelez a tesztel\u00e9sek, fuzzerek, benchmarkok \u00e9s p\u00e9ld\u00e1k bejelent\u00e9s\u00e9ben, p\u00e9ld\u00e1ul helytelen\u00fcl form\u00e1zott neveket, \u00e9rv\u00e9nytelen al\u00e1\u00edr\u00e1sokat vagy olyan p\u00e9ld\u00e1kat, amelyek nem l\u00e9tez\u0151 azonos\u00edt\u00f3kat dokument\u00e1lnak. Ezek k\u00f6z\u00fcl n\u00e9h\u00e1ny hiba a tesztek nem teljes\u00edt\u00e9s\u00e9hez vezethet.<\/p>\n<p> <noindex><\/p>\n<p>A megl\u00e9v\u0151 printf elemz\u0151 most diagnosztiz\u00e1lja a fmt.Printf(s) h\u00edv\u00e1sokat, ahol s - nem \u00e1lland\u00f3 form\u00e1tum\u00fa string, m\u00e1s argumentumok n\u00e9lk\u00fcl. Az ilyen h\u00edv\u00e1sok szinte mindig hib\u00e1sak, mivel az s \u00e9rt\u00e9ke tartalmazhatja a % karaktert; helyette haszn\u00e1lja a fmt.Print-ot. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/60529\">60529<\/a>. Ez az ellen\u0151rz\u00e9s hajlamos felfedezni a megl\u00e9v\u0151 k\u00f3dban, ez\u00e9rt csak akkor alkalmazand\u00f3, amikor a nyelv verzi\u00f3ja (amint azt a go.mod f\u00e1jl vagy a `\/\/go:build` megjegyz\u00e9sek hat\u00e1rozz\u00e1k meg) legal\u00e1bb Go 1.24, hogy elker\u00fclj\u00fck a hossz\u00fa t\u00e1v\u00fa integr\u00e1ci\u00f3s hib\u00e1kat, amikor a Go 1.24-es toolchain-re friss\u00edt\u00fcnk.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>A megl\u00e9v\u0151 buildtag elemz\u0151 most diagnosztik\u00e1t jelent, amikor hib\u00e1s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/cmd\/go#hdr-Build_constraints\">a r\u00e9gi verzi\u00f3k buildkorl\u00e1toz\u00e1sa<\/a> Go a \/\/go:build direkt\u00edv\u00e1ban. P\u00e9ld\u00e1ul, \/\/go:build go1.23.1 a pontszer\u0171 kiad\u00e1sra utal; ehelyett haszn\u00e1lja a \/\/go:build go1.23. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/64127\">#64127<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>A megl\u00e9v\u0151 copylock elemz\u0151 most diagnosztik\u00e1t jelent, amikor egy v\u00e1ltoz\u00f3, amelyet egy h\u00e1romsoros \u201cfor\u201d ciklusban hirdettek meg, mint p\u00e9ld\u00e1ul for i := iter(); done(i); i = next(i) { \u2026 }, sync.Locker-t, p\u00e9ld\u00e1ul sync.Mutexot tartalmaz. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/go1.22#language\">Go 1.22<\/a> megv\u00e1ltoztatta az ilyen ciklusok viselked\u00e9s\u00e9t, \u00faj v\u00e1ltoz\u00f3 l\u00e9trehoz\u00e1s\u00e1val minden iter\u00e1ci\u00f3hoz, az el\u0151z\u0151 iter\u00e1ci\u00f3b\u00f3l sz\u00e1rmaz\u00f3 \u00e9rt\u00e9kek m\u00e1sol\u00e1s\u00e1val; ez a m\u00e1sol\u00e1s nem biztons\u00e1gos a z\u00e1rol\u00e1sok sz\u00e1m\u00e1ra. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/66387\">#66387<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h3>GOCACHEPROG<\/h3>\n<p> <noindex><\/p>\n<p>A cmd\/go bels\u0151 bin\u00e1ris \u00e9s a tesztel\u00e9si cache mechanizmus most megval\u00f3s\u00edthat\u00f3 gyermeks folyamatok \u00e1ltal, amelyek JSON protokollt val\u00f3s\u00edtanak meg a cmd\/go eszk\u00f6z \u00e9s a gyermek folyamat k\u00f6z\u00f6tt, amelyet a GOCACHEPROG k\u00f6rnyezeti v\u00e1ltoz\u00f3 nevezett el. Kor\u00e1bban ez a GOEXPERIMENT volt. A protokoll r\u00e9szletei megtekinthet\u0151k itt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/cmd\/go\/internal\/cacheprog\">dokument\u00e1ci\u00f3<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h2>Kib\u0151v\u00edtett fut\u00e1si id\u0151<\/h2>\n<p> <noindex><\/p>\n<p>T\u00f6bb teljes\u00edtm\u00e9nyjav\u00edt\u00e1s a runtime-ban 2-3% -kal cs\u00f6kkentette a CPU k\u00f6lts\u00e9geket \u00e1tlagosan a reprezentat\u00edv benchmark k\u00e9szlet k\u00f6z\u00f6tt. Az eredm\u00e9nyek alkalmaz\u00e1sonk\u00e9nt v\u00e1ltozhatnak. Ezek a jav\u00edt\u00e1sok egy \u00faj be\u00e9p\u00edtett map megval\u00f3s\u00edt\u00e1st tartalmaznak <a rel=\"nofollow\" href=\"https:\/\/abseil.io\/about\/design\/swisstables\">Sv\u00e9d T\u00e1bl\u00e1k<\/a>, hat\u00e9konyabb kis objektumok mem\u00f3riakezel\u00e9s\u00e9t \u00e9s egy \u00faj bels\u0151 runtime mutex megval\u00f3s\u00edt\u00e1st.<\/p>\n<p><\/noindex> <\/p>\n<p>Az \u00faj be\u00e9p\u00edtett map megval\u00f3s\u00edt\u00e1s \u00e9s az \u00faj bels\u0151 runtime mutex deaktiv\u00e1lhat\u00f3 a GOEXPERIMENT=noswissmap \u00e9s a GOEXPERIMENT=nospinbitmutex be\u00e1ll\u00edt\u00e1sokkal a ford\u00edt\u00e1s sor\u00e1n.<\/p>\n<h2>Ford\u00edt\u00f3<\/h2>\n<p>A ford\u00edt\u00f3 m\u00e1r megtiltotta \u00faj met\u00f3dusok defini\u00e1l\u00e1s\u00e1t olyan fogyaszt\u00f3i t\u00edpusokkal, amelyeket cgo gener\u00e1l; de ezt a t\u00edpusali\u00e1s \u00e1thidalhatta. A Go 1.24 most mindig hib\u00e1t jelez, ha a fogyaszt\u00f3 egy gener\u00e1lt cgo t\u00edpust jel\u00f6l, k\u00f6zvetlen\u00fcl vagy k\u00f6zvetve (t\u00edpus ali\u00e1son kereszt\u00fcl).<\/p>\n<h2>Linker<\/h2>\n<p>A linker most alap\u00e9rtelmez\u00e9s szerint gener\u00e1l GNU build azonos\u00edt\u00f3t (ELF NT_GNU_BUILD_ID bejegyz\u00e9s) ELF platformokon, \u00e9s UUID-t (Mach-O LC_UUID t\u00f6lt\u00e9si parancs) macOS-en. Az azonos\u00edt\u00f3 vagy UUID a Go build azonos\u00edt\u00f3b\u00f3l sz\u00e1rmazik. Ez letilthat\u00f3 a linker -B none kapcsol\u00f3j\u00e1val, vagy fel\u00fcl\u00edrhat\u00f3 a linker -B 0xNNNN kapcsol\u00f3j\u00e1val az adott felhaszn\u00e1l\u00f3i hexadecim\u00e1lis \u00e9rt\u00e9kkel.<\/p>\n<h2>Feldolgoz\u00e1s<\/h2>\n<p> <noindex><\/p>\n<p>Ahogy azt a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/go1.22#bootstrap\">Go 1.22 kiad\u00e1si megjegyz\u00e9seiben jelezt\u00e9k<\/a>, Go 1.24 most now requires Go 1.22.6 or later for development. Developers expect that Go 1.26 will require a patch release of Go 1.24 or later for development.<\/p>\n<p><\/noindex> <\/p>\n<h2>Szabv\u00e1nyos k\u00f6nyvt\u00e1r<\/h2>\n<h3>Korl\u00e1tozott mapp\u00e1hoz val\u00f3 hozz\u00e1f\u00e9r\u00e9s a f\u00e1jlrendszerhez<\/h3>\n<p> <noindex><\/p>\n<p>\u00daj t\u00edpus <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root\">os.Root<\/a> lehet\u0151v\u00e9 teszi a f\u00e1jlrendszer m\u0171veletek v\u00e9grehajt\u00e1s\u00e1t egy adott mapp\u00e1n bel\u00fcl.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Funkci\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#OpenRoot\">os.OpenRoot<\/a> megnyitja a mapp\u00e1t \u00e9s visszaadja <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root\">os.Root<\/a>. Az os.Root-on v\u00e9gzett m\u00f3dszerek ebben a mapp\u00e1ban m\u0171k\u00f6dnek, \u00e9s nem engedik meg az \u00fatvonalak sz\u00e1m\u00e1ra, hogy hivatkozzanak a mapp\u00e1n k\u00edv\u00fcli helyekre, bele\u00e9rtve a szimbolikus linkeken k\u00edv\u00fcli helyeket is. Az os.Root-on l\u00e9v\u0151 m\u00f3dszerek a f\u00e1jlrendszer sz\u00e1mos m\u0171velet\u00e9t t\u00fckr\u00f6zik, amelyek el\u00e9rhet\u0151k az os csomagban, bele\u00e9rtve p\u00e9ld\u00e1ul a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root\">os.Root<\/a> os.Root.Open <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root.Open\">os.Root.Create<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root.Create\">os.Root.Mkdir<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root.Mkdir\">os.Root.Stat<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os#Root.Stat\">\u00daj benchmark funkci\u00f3<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h3>A benchmarkok most gyorsabb \u00e9s megb\u00edzhat\u00f3bb m\u00f3dszert haszn\u00e1lhatnak<\/h3>\n<p> <noindex><\/p>\n<p>testing.B.Loop <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing#B.Loop\">a benchmark iter\u00e1ci\u00f3k v\u00e9grehajt\u00e1s\u00e1hoz, mint p\u00e9ld\u00e1ul for b.Loop() { \u2026 } a tipikus ciklus strukt\u00far\u00e1k helyett, amelyekben b.N szerepel, mint p\u00e9ld\u00e1ul for range b.N. Ez k\u00e9t jelent\u0151s el\u0151nyt k\u00edn\u00e1l:<\/a> A benchmark funkci\u00f3 pontosan egyszer hajt\u00f3dik v\u00e9gre minden -count sor\u00e1n, \u00edgy a k\u00f6lts\u00e9ges be\u00e1ll\u00edt\u00e1si \u00e9s tiszt\u00edt\u00e1si l\u00e9p\u00e9sek csak egyszer t\u00f6rt\u00e9nnek meg.<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li>A f\u00fcggv\u00e9nyh\u00edv\u00e1s param\u00e9terei \u00e9s eredm\u00e9nyei tov\u00e1bb \u00e9lnek, megakad\u00e1lyozva a ford\u00edt\u00f3t a ciklus test\u00e9nek teljes optimaliz\u00e1l\u00e1s\u00e1ban.<\/li>\n<li>Fejlettebb v\u00e9grehajt\u00f3k<\/li>\n<\/ul>\n<h3>Az \u00faj funkci\u00f3<\/h3>\n<p> <noindex><\/p>\n<p>runtime.AddCleanup <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/runtime#AddCleanup\">egy olyan befejez\u00e9si mechanizmus, amely rugalmasabb, hat\u00e9konyabb \u00e9s kev\u00e9sb\u00e9 hajlamos a hib\u00e1kra, mint<\/a> runtime.SetFinalizer <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/runtime#SetFinalizer\">. Az AddCleanup egy tiszt\u00edt\u00f3 f\u00fcggv\u00e9nyt csatol egy objektumhoz, amely akkor indul el, amikor az objektum el\u00e9rhetetlenn\u00e9 v\u00e1lik. Azonban a SetFinalizer-rel ellent\u00e9tben t\u00f6bb tiszt\u00edt\u00f3t lehet hozz\u00e1f\u0171zni egyetlen objektumhoz, a tiszt\u00edt\u00f3k bels\u0151 mutat\u00f3khoz csatolhat\u00f3k, \u00e9s a tiszt\u00edt\u00f3k \u00e1ltal\u00e1ban nem okoznak mem\u00f3riasziv\u00e1rg\u00e1st, amikor az objektumok ciklust alkotnak, \u00e9s a tiszt\u00edt\u00f3k nem k\u00e9sleltetik az objektum vagy az \u00e1ltala mutatott objektumok felszabad\u00edt\u00e1s\u00e1t. Az \u00faj k\u00f3dnak az AddCleanup haszn\u00e1lat\u00e1t kell el\u0151nyben r\u00e9szes\u00edtenie a SetFinalizer el\u0151tt.<\/a>\u00daj weak csomag<\/p>\n<p><\/noindex> <\/p>\n<h3>Az \u00faj csomag<\/h3>\n<p> <noindex><\/p>\n<p>weak <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/weak\/\">gyenge mutat\u00f3kat biztos\u00edt.<\/a> A gyenge mutat\u00f3k alacsony szint\u0171 primit\u00edvek, amelyeket a mem\u00f3riahat\u00e9kony strukt\u00far\u00e1k l\u00e9trehoz\u00e1s\u00e1hoz biztos\u00edtottak, p\u00e9ld\u00e1ul gyenge sz\u00f3t\u00e1rak \u00e9rt\u00e9kek p\u00e1ros\u00edt\u00e1s\u00e1hoz, kanoniz\u00e1l\u00f3 sz\u00f3t\u00e1rakhoz, b\u00e1rmire, amit a<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>unique <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/unique\/\">csomag nem fed le.<\/a>, \u00e9s k\u00fcl\u00f6nf\u00e9le cache t\u00edpusok. Ezeknek a haszn\u00e1lati eseteknek a t\u00e1mogat\u00e1s\u00e1ra ez a kiad\u00e1s is biztos\u00edt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/runtime\/#AddCleanup\">egy olyan befejez\u00e9si mechanizmus, amely rugalmasabb, hat\u00e9konyabb \u00e9s kev\u00e9sb\u00e9 hajlamos a hib\u00e1kra, mint<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/maphash\/#Comparable\">maphash.Comparable<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h3>\u00daj crypto\/mlkem csomag<\/h3>\n<p> <noindex><\/p>\n<p>weak <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/mlkem\/\">crypto\/mlkem<\/a> megval\u00f3s\u00edtja az ML-KEM-768 \u00e9s ML-KEM-1024 mechanizmusokat.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Az ML-KEM egy poszt-kvantum kulcscsere mechanizmus, amely kor\u00e1bban Kyber n\u00e9ven volt ismert, \u00e9s a k\u00f6vetkez\u0151 helyen van specifik\u00e1lva <a rel=\"nofollow\" href=\"https:\/\/doi.org\/10.6028\/NIST.FIPS.203\">FIPS 203<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h3>\u00daj crypto\/hkdf, crypto\/pbkdf2 \u00e9s crypto\/sha3 csomagok<\/h3>\n<p> <noindex><\/p>\n<p>weak <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/hkdf\/\">crypto\/hkdf<\/a> megval\u00f3s\u00edtja az HMAC alap\u00fa kulcskib\u0151v\u00edt\u0151 funkci\u00f3t, az \"Extract-and-Expand\"-t, ahogy azt a k\u00f6vetkez\u0151 hat\u00e1rozza meg <a rel=\"nofollow\" href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc5869.html\">RFC 5869<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>weak <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/pbkdf2\/\">crypto\/pbkdf2<\/a> megval\u00f3s\u00edtja a jelsz\u00f3 alap\u00fa kulcskib\u0151v\u00edt\u0151 funkci\u00f3t, a PBKDF2-t, ahogy azt a k\u00f6vetkez\u0151 hat\u00e1rozza meg <a rel=\"nofollow\" href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc8018.html\">RFC 8018<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>weak <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/sha3\/\">crypto\/sha3<\/a> megval\u00f3s\u00edtja a SHA-3 \u00e9s SHAKE hash funkci\u00f3kat, valamint a kiterjeszthet\u0151 kimenetet biztos\u00edt\u00f3 cSHAKE funkci\u00f3t, ahogy azt a k\u00f6vetkez\u0151 hat\u00e1rozza meg <a rel=\"nofollow\" href=\"http:\/\/doi.org\/10.6028\/NIST.FIPS.202\">FIPS 202<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<p>Mindh\u00e1rom csomag kor\u00e1bban megl\u00e9v\u0151 golang.org\/x\/crypto\/... csomagokra alapoz.<\/p>\n<h3>FIPS 140-3 megfelel\u0151s\u00e9g<\/h3>\n<p> <noindex><\/p>\n<p>Ez a kiad\u00e1s tartalmaz <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/security\/fips140\">\u00faj mechanizmusok sorozat\u00e1t a FIPS 140-3 megfelel\u0151s\u00e9g biztos\u00edt\u00e1s\u00e1ra<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<p>A Go kriptogr\u00e1fiai modul egy bels\u0151 csomagokb\u00f3l \u00e1ll\u00f3 k\u00e9szlet a szabv\u00e1nyos k\u00f6nyvt\u00e1rban, amely \u00e1tl\u00e1that\u00f3an van haszn\u00e1lva az enged\u00e9lyezett FIPS 140-3 algoritmusok megval\u00f3s\u00edt\u00e1s\u00e1hoz. Az alkalmaz\u00e1soknak nem kell m\u00f3dosulniuk, hogy haszn\u00e1lj\u00e1k a Go kriptogr\u00e1fiai modulj\u00e1t az enged\u00e9lyezett algoritmusokhoz.<\/p>\n<p> <noindex><\/p>\n<p>Az \u00faj GOFIPS140 k\u00f6rnyezeti v\u00e1ltoz\u00f3 haszn\u00e1lhat\u00f3 a Go kriptogr\u00e1fiai modul verzi\u00f3j\u00e1nak v\u00e1laszt\u00e1s\u00e1ra a build folyam\u00e1n. Az \u00faj <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">GODEBUG be\u00e1ll\u00edt\u00e1sa<\/a> fips140 haszn\u00e1lhat\u00f3 a FIPS 140-3 \u00fczemm\u00f3d enged\u00e9lyez\u00e9s\u00e9re v\u00e9grehajt\u00e1s k\u00f6zben.<\/p>\n<p><\/noindex> <\/p>\n<p>A Go 1.24 tartalmazza a Go kriptogr\u00e1fiai modul v1.0.0 verzi\u00f3j\u00e1t, amely jelenleg egy akkredit\u00e1lt CMVP laborat\u00f3riummal tesztel\u00e9s alatt \u00e1ll.<\/p>\n<h3>\u00daj k\u00eds\u00e9rleti testing\/synctest csomag<\/h3>\n<p> <noindex><\/p>\n<p>\u00daj k\u00eds\u00e9rleti csomag <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing\/synctest\/\">testing\/synctest<\/a> t\u00e1mogatja a p\u00e1rhuzamos k\u00f3d tesztel\u00e9s\u00e9t.<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li>Funkci\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing\/synctest\/#Run\">synctest.Run<\/a> elind\u00edt egy csoportnyi gorutint egy elszigetelt \"bubor\u00e9kban\". A bubor\u00e9kban a csomag funkci\u00f3i <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/time\">time<\/a> hamis \u00f3r\u00e1kn\u00e1l m\u0171k\u00f6dnek.<\/li>\n<li>Funkci\u00f3k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing\/synctest#Wait\">synctest.Wait<\/a> v\u00e1rja, hogy minden gorutina blokkolja mag\u00e1t a jelenlegi bubor\u00e9kban.<\/li>\n<\/ul>\n<p>R\u00e9szleteket tal\u00e1lhat a csomag dokument\u00e1ci\u00f3j\u00e1ban.<\/p>\n<p> <noindex><\/p>\n<p>A synctest csomag k\u00eds\u00e9rleti \u00e9s a haszn\u00e1latba v\u00e9tel\u00e9hez a GOEXPERIMENT=synctest be\u00e1ll\u00edt\u00e1st kell v\u00e9gezni. A csomag API-ja a j\u00f6v\u0151beni kiad\u00e1sokban v\u00e1ltozhat. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/67434\">#67434<\/a> Tov\u00e1bbi r\u00e9szleteket lehet tal\u00e1lni, \u00e9s visszajelz\u00e9st adni.<\/p>\n<p><\/noindex> <\/p>\n<h3>Kisebb v\u00e1ltoz\u00e1sok a k\u00f6nyvt\u00e1rban<\/h3>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/archive\/\">archive<\/a><\/h4>\n<p>Az archive\/zip \u00e9s archive\/tar (*Writer.AddFS) implement\u00e1ci\u00f3i mostant\u00f3l \u00edrnak egy k\u00f6nyvt\u00e1r fejl\u00e9cet \u00fcres k\u00f6nyvt\u00e1rakon.<\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes\/\">bytes<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Csomag <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes\">bytes<\/a> t\u00f6bb olyan funkci\u00f3t ad hozz\u00e1, amelyek iter\u00e1torokkal dolgoznak:<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes#Lines\">Lines<\/a> visszaad egy iter\u00e1tort, amely a sorokat sz\u00e9tv\u00e1lasztja \u00faj vonalon a b\u00e1jt szeletben.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes#SplitSeq\">SplitSeq<\/a> visszaad egy iter\u00e1tort az \u00f6sszes b\u00e1jtszeletr\u0151l, amely a megadott hat\u00e1rol\u00f3n van sz\u00e9tv\u00e1lasztva.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes#SplitAfterSeq\">SplitAfterSeq<\/a> visszaad egy iter\u00e1tort a b\u00e1jtszeletekr\u0151l, amelyek a hat\u00e1rol\u00f3 minden el\u0151fordul\u00e1sa ut\u00e1n vannak sz\u00e9tv\u00e1lasztva.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes#FieldsSeq\">FieldsSeq<\/a> visszaad egy iter\u00e1tort a b\u00e1jtszeletekr\u0151l a sz\u00f3k\u00f6z karakterek sorozatainak k\u00f6r\u00fcl. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/unicode#IsSpace\">unicode.IsSpace<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/bytes#FieldsFuncSeq\">FieldsFuncSeq<\/a> visszaad egy iter\u00e1tort a b\u00e1jtszeletekr\u0151l, amelyek a Unicode k\u00f3dpontok sorozatai k\u00f6r\u00fcl vannak, megfelelve a predik\u00e1tumnak.<\/li>\n<\/ul>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/aes\/\">crypto\/aes<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Visszaadott \u00e9rt\u00e9k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/aes#NewCipher\">NewChipher<\/a> t\u00f6bb\u00e9 nem implement\u00e1lja a NewCTR, NewGCM, NewCBCEncrypter \u00e9s NewCBCDecrypter met\u00f3dusokat. Ezek a met\u00f3dusok nem dokument\u00e1ltak \u00e9s nem \u00e1lltak rendelkez\u00e9sre minden architekt\u00far\u00e1n. Most az \u00e9rt\u00e9k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#Block\">Block<\/a> k\u00f6zvetlen\u00fcl \u00e1t kell adni a megfelel\u0151 funkci\u00f3knak <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher\/\">crypto\/cipher<\/a>. Jelenleg a crypto\/cipher m\u00e9g mindig ellen\u0151rzi ezeket a met\u00f3dusokat a Block \u00e9rt\u00e9keken, m\u00e9g akkor is, ha a szabv\u00e1nyos k\u00f6nyvt\u00e1r m\u00e1r nem t\u00e1mogatja \u0151ket.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher\/\">crypto\/cipher<\/a><\/h4>\n<p> <noindex><\/p>\n<p>runtime.AddCleanup <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#NewGCMWithRandomNonce\">NewGCMWithRandomNonce<\/a> a p\u00e9nzeszk\u00f6z\u00f6ket! M\u00e9g dics\u00e9retet is kap 75-90% -t\u00f3l a r\u00e9sztvev\u0151k k\u00f6z\u00fcl, b\u00e1r a projekt fejl\u0151d\u00e9se nyilv\u00e1nval\u00f3an lelassult. A legmeglep\u0151bb, hogy mindenki <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#AEAD\">AEAD<\/a>, amely megval\u00f3s\u00edtja az AES-GCM-et, v\u00e9letlenszer\u0171 egyszer haszn\u00e1latos sz\u00e1mot gener\u00e1l a Seal idej\u00e9n, \u00e9s hozz\u00e1adja a titkos\u00edtott sz\u00f6veg elej\u00e9hez.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Megval\u00f3s\u00edt\u00e1s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#Stream\">Stream<\/a>, visszaadott <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#NewCTR\">NewCTR<\/a> haszn\u00e1lva a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/aes\/\">crypto\/aes<\/a> most t\u00f6bbsz\u00f6r gyorsabb amd64 \u00e9s arm64 rendszer alatt.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#NewOFB\">NewOFB<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#NewCFBEncrypter\">NewCFBEncrypter<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#NewCFBDecrypter\">NewCFBDecrypter<\/a> mostanra elavultak. Az OFB \u00e9s CFB m\u00f3dok nem hiteles\u00edtettek, ami lehet\u0151v\u00e9 teszi az akt\u00edv t\u00e1mad\u00e1sok manipul\u00e1l\u00e1s\u00e1t \u00e9s a vil\u00e1gos sz\u00f6veg vissza\u00e1ll\u00edt\u00e1s\u00e1t. Az alkalmaz\u00e1soknak javasolt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#AEAD\">AEAD<\/a> helyett haszn\u00e1lni. Ha a nem hiteles\u00edtett m\u00f3d <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#Stream\">Stream<\/a> sz\u00fcks\u00e9ges, haszn\u00e1lhat\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/cipher#NewCTR\">NewCTR<\/a> helyett.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/ecdsa\/\">crypto\/ecdsa<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/ecdsa#PrivateKey.Sign\">PrivateKey.Sign<\/a> most determinisztikus al\u00e1\u00edr\u00e1st hoz l\u00e9tre a k\u00f6vetkez\u0151nek megfelel\u0151en <a rel=\"nofollow\" href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc6979.html\">RFC 6979<\/a>, ha a v\u00e9letlensz\u00e1m-forr\u00e1s nil.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/md5\/\">crypto\/md5<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Visszaadott \u00e9rt\u00e9k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/md5#New\">md5.New<\/a>, most m\u00e1r az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rand\/\">crypto\/rand<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Funkci\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rand#Read\">Olvas\u00e1s<\/a> most garant\u00e1lja a kudarcok hi\u00e1ny\u00e1t. Ha a Read hiba\u00fczenetet tal\u00e1l olvas\u00e1s k\u00f6zben <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rand#Reader\">Reader<\/a>, a program v\u00e9glegesen le\u00e1ll. K\u00e9rj\u00fck, vegye figyelembe, hogy az alap\u00e9rtelmezett Reader dokument\u00e1lva van, hogy mindig sikeresen m\u0171k\u00f6dj\u00f6n, \u00edgy ez a v\u00e1ltoz\u00e1s csak azokat a programokat \u00e9rinti, amelyek fel\u00fcl\u00edrj\u00e1k a Reader v\u00e1ltoz\u00f3t. Egy kiv\u00e9tel a Linux kernel 3.17 alatti verzi\u00f3i, ahol az alap\u00e9rtelmezett Reader m\u00e9g mindig megnyitja a \/dev\/urandom-t, \u00e9s kudarcot vallhat.<\/p>\n<p><\/noindex> <\/p>\n<p>A Linux 6.11-t\u0151l kezdve a Reader mostant\u00f3l a getrandom rendszerh\u00edv\u00e1st haszn\u00e1lja a vDSO-n kereszt\u00fcl. Ez t\u00f6bbsz\u00f6r\u00f6sen gyorsabb, \u00e1ltal\u00e1ban kis olvas\u00e1sok eset\u00e9n.<\/p>\n<p>OpenBSD alatt a Reader mostant\u00f3l az arc4random_buf(3) haszn\u00e1lja.<\/p>\n<p> <noindex><\/p>\n<p>runtime.AddCleanup <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rand#Text\">Sz\u00f6veg<\/a> most m\u00e1r k\u00e9pes kriptogr\u00e1fiailag biztons\u00e1gos v\u00e9letlenszer\u0171 sz\u00f6vegsorozatok gener\u00e1l\u00e1s\u00e1ra.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa\/\">crypto\/rsa<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#GenerateKey\">GenerateKey<\/a> most m\u00e1r hiba\u00fczenetet ad vissza, ha a k\u00e9r\u00e9s kevesebb mint 1024 bit hossz\u00fa kulcsra vonatkozik. Minden al\u00e1\u00edr\u00f3, ellen\u0151rz\u0151, titkos\u00edt\u00f3 \u00e9s visszafejt\u0151 m\u00f3dszer most m\u00e1r hiba\u00fczenetet ad vissza, ha a kulcs m\u00e9rete kevesebb mint 1024 bit. Ezek a kulcsok nem biztons\u00e1gosak, \u00e9s nem szabad haszn\u00e1lni \u0151ket. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">A GODEBUG be\u00e1ll\u00edt\u00e1sa<\/a> rsa1024min=0 vissza\u00e1ll\u00edtja a r\u00e9gi viselked\u00e9st, de a Go fejleszt\u0151i ezt csak akkor aj\u00e1nlj\u00e1k, ha felt\u00e9tlen\u00fcl sz\u00fcks\u00e9ges, \u00e9s csak tesztel\u00e9s sor\u00e1n, p\u00e9ld\u00e1ul a tesztf\u00e1jlba beillesztve a \/\/go:debug rsa1024min=0 sort. Az \u00faj <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#example-GenerateKey-TestKey\">p\u00e9ld\u00e1m<\/a> GenerateKey egyszer\u0171en haszn\u00e1lhat\u00f3, 2024 bites tesztkulcsot biztos\u00edt.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Most m\u00e1r biztons\u00e1gosan \u00e9s hat\u00e9konyabban lehet h\u00edvni <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#PrivateKey.Precompute\">PrivateKey.Precompute<\/a> t\u00f3l <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#PrivateKey.Validate\">PrivateKey.Validate<\/a>. A Precompute most gyorsabb, ha r\u00e9szben kit\u00f6lt\u00f6tt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#PrecomputedValues\">PrecomputedValues<\/a>, p\u00e9ld\u00e1ul kulcs kinyer\u00e9se JSON-b\u00f3l.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>A csomag most m\u00e1r t\u00f6bb hib\u00e1s kulcsot elutas\u00edt, m\u00e9g akkor is, ha a Validate nincs megh\u00edvva, \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#GenerateKey\">GenerateKey<\/a> most m\u00e1r \u00faj hib\u00e1kat adhat vissza hib\u00e1s v\u00e9letlensz\u00e1m-forr\u00e1sok eset\u00e9n. A mez\u0151k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#PrivateKey.Primes\">Primes<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#PrivateKey.Precomputed\">Precomputed<\/a> a strukt\u00far\u00e1ban <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#PrivateKey\">PrivateKey<\/a> most m\u00e1r haszn\u00e1latban van \u00e9s \u00e9rv\u00e9nyes\u00edtve van, m\u00e9g akkor is, ha bizonyos \u00e9rt\u00e9kek hi\u00e1nyoznak. A crypto\/x509-ben is m\u00f3dos\u00edt\u00e1sok t\u00f6rt\u00e9ntek az RSA kulcsok elemz\u00e9se \u00e9s kinyer\u00e9se kapcs\u00e1n, az al\u00e1bbiak szerint.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#SignPKCS1v15\">SignPKCS1v15<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#VerifyPKCS1v15\">VerifyPKCS1v15<\/a> most m\u00e1r t\u00e1mogatja a SHA-512\/224, SHA-512\/256 \u00e9s SHA-3 algoritmusokat.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/rsa#GenerateKey\">GenerateKey<\/a> most m\u00e1r egy kicsit m\u00e1s m\u00f3dszert haszn\u00e1l a priv\u00e1t kitev\u0151 gener\u00e1l\u00e1s\u00e1ra (Carmichael-f\u00fcggv\u00e9ny az Euler-f\u00fcggv\u00e9ny helyett). Ritka alkalmaz\u00e1sok, amelyek k\u00edv\u00fclr\u0151l \u00e1ll\u00edtanak el\u0151 kulcsokat csak els\u0151dleges sz\u00e1mokb\u00f3l, elt\u00e9r\u0151, de kompatibilis eredm\u00e9nyeket gener\u00e1lhatnak.<\/p>\n<p><\/noindex> <\/p>\n<p>A nyilv\u00e1nos \u00e9s priv\u00e1t kulcsokkal v\u00e9gzett m\u0171veletek most m\u00e1r ak\u00e1r k\u00e9tszer gyorsabbak wasm k\u00f6rnyezetben.<\/p>\n<h3>crypto\/sha*<\/h3>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/sha1\/\">crypto\/sha1<\/a>: az \u00e9rt\u00e9k, amelyet a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha1#New\">sha1.New<\/a> most m\u00e1r szint\u00e9n implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a>.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/sha256\/\">crypto\/sha256<\/a>: az \u00e9rt\u00e9kek, amelyeket a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha256#New\">sha256.New<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha256#New224\">sha256.New224<\/a> most m\u00e1r szint\u00e9n implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a>.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/sha512\/\">crypto\/sha512<\/a>: az \u00e9rt\u00e9kek, amelyeket a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha512#New\">sha512.New<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha512#New384\">sha512.New384<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha512#New512_224\">sha512.New512_224<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sha512#New512_256\">sha512.New512_256<\/a>, most m\u00e1r szint\u00e9n implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a>.<\/li>\n<\/ul>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/subtle\/\">crypto\/subtle<\/a><\/h4>\n<p> <noindex><\/p>\n<p>runtime.AddCleanup <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/subtle#WithDataIndependentTiming\">WithDataIndependentTiming<\/a> lehet\u0151v\u00e9 teszi a felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra, hogy olyan architekt\u00far\u00e1ra jellemz\u0151 funkci\u00f3kkal rendelkez\u0151 \u00f6sszef\u00fcgg\u00e9seket hajtson v\u00e9gre, amelyek garant\u00e1lj\u00e1k, hogy bizonyos utas\u00edt\u00e1sok id\u0151\u00e9rt\u00e9ke v\u00e1ltozatlan marad. Ezt fel lehet haszn\u00e1lni annak ellen\u0151rz\u00e9s\u00e9re, hogy a konstans id\u0151ben m\u0171k\u00f6d\u00e9sre tervezett k\u00f3dot nem optimaliz\u00e1lt\u00e1k a processzor szint\u0171 funkci\u00f3kkal \u00fagy, hogy v\u00e1ltoz\u00f3 id\u0151ben m\u0171k\u00f6dj\u00f6n. Jelenleg a WithDataIndependentTiming az arm64-en a PSTATE.DIT bitet haszn\u00e1lja, \u00e9s semmi m\u00e1st nem csin\u00e1l a t\u00f6bbi architekt\u00far\u00e1n. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">A GODEBUG be\u00e1ll\u00edt\u00e1sa<\/a> dataindependenttiming=1 aktiv\u00e1lja a DIT m\u00f3dot az eg\u00e9sz Go programra.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>K\u00f6vetkeztet\u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/subtle#XORBytes\">XORBytes<\/a> teljesen \u00e1t kell fednie a bemenetet, vagy egy\u00e1ltal\u00e1n nem. A kor\u00e1bbi viselked\u00e9s meg nem hat\u00e1rozott volt, m\u00edg most az XORBytes p\u00e1nikba fog esni.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/tls\/\">crypto\/tls<\/a><\/h4>\n<p> <noindex><\/p>\n<p>A TLS szerver most t\u00e1mogatja az Encrypted Client Hello (ECH) lehet\u0151s\u00e9get. Ez a funkci\u00f3 aktiv\u00e1lhat\u00f3 a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/tls#Config.EncryptedClientHelloKeys\">Config.EncryptedClientHelloKeys<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>\u00daj poszt-kvantum kulcscsere mechanizmus <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/tls#X25519MLKEM768\">X25519MLKEM768<\/a> mostant\u00f3l t\u00e1mogatott \u00e9s alap\u00e9rtelmez\u00e9s szerint be van kapcsolva, amikor <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/tls#Config.CurvePreferences\">Config.CurvePreferences<\/a> nil. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">A GODEBUG be\u00e1ll\u00edt\u00e1sa<\/a> tlsmlkem=0 visszaadja az alap\u00e9rtelmezettet.<\/p>\n<p><\/noindex> <\/p>\n<p>Az X25519Kyber768Draft00 k\u00eds\u00e9rleti kulcscsere t\u00e1mogat\u00e1s\u00e1t elt\u00e1vol\u00edtott\u00e1k.<\/p>\n<p> <noindex><\/p>\n<p>A kulcscsere sorrendje most teljesen a crypto\/tls csomagban van kezelve. A sorrend <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/tls#Config.CurvePreferences\">Config.CurvePreferences<\/a> mostant\u00f3l figyelmen k\u00edv\u00fcl van hagyva, \u00e9s a tartalom csak arra szolg\u00e1l, hogy meghat\u00e1rozza, mely kulcscser\u00e9ket aktiv\u00e1lj\u00e1k, amikor a mez\u0151 ki van t\u00f6ltve.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>\u00daj mez\u0151 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/tls#ClientHelloInfo.Extensions\">ClientHelloInfo.Extensions<\/a> felsorolja a Client Hello \u00fczenetb\u0151l sz\u00e1rmaz\u00f3 kiterjeszt\u00e9sek azonos\u00edt\u00f3it. Ez hasznos lehet a TLS kliens ujjlenyomatok lev\u00e9tel\u00e9ben.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509\/\">crypto\/x509<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">A GODEBUG be\u00e1ll\u00edt\u00e1sa<\/a> x509sha1 elt\u00e1vol\u00edt\u00e1sra ker\u00fclt. <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#Certificate.Verify\">Certficicate.Verify<\/a> t\u00f6bb\u00e9 nem t\u00e1mogatja a SHA-1 alap\u00fa al\u00e1\u00edr\u00e1sokat.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#OID\">OID<\/a> mostant\u00f3l implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAppender<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Az alap\u00e9rtelmezett hiteles\u00edt\u00e9si politika mez\u0151 m\u00f3dosult a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#Certificate.PolicyIdentifiers\">Certificate.PolicyIdentifiers<\/a> Gyorsan eml\u00e9kezz\u00fcnk vissza, hogyan m\u0171k\u00f6dik a modul\u00e1ris aritmetika. Az \u00f3ra m\u00e1r egy ismert koncepci\u00f3. Az \u00f3r\u00e1k haszn\u00e1lata <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#Certificate.Policies\">Certificate.Policies<\/a>. A tan\u00fas\u00edtv\u00e1nyok elemz\u00e9sekor mindk\u00e9t mez\u0151 ki lesz t\u00f6ltve, de a hiteles\u00edt\u00e9si politik\u00e1k l\u00e9trehoz\u00e1sakor a Certificate.Policies mez\u0151b\u0151l fogj\u00e1k venni, nem a Certificate.PolicyIdentifiers-b\u0151l. Ez a v\u00e1ltoz\u00e1s vissza\u00e1ll\u00edthat\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">a GODEBUG be\u00e1ll\u00edt\u00e1ssal<\/a> x509usepolicies=0.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#CreateCertificate\">CreateCertificate<\/a> most m\u00e1r az RFC 5280 kompatibilis m\u00f3dszerrel gener\u00e1l sorozatsz\u00e1mot, amikor a sablon mez\u0151t <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#Certificate.SerialNumber\">Certificate.SerialNumber<\/a> nil, ahelyett, hogy hib\u00e1t okozna.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#Certificate.Verify\">Certificate.Verify<\/a> most m\u00e1r t\u00e1mogatja a politik\u00e1k \u00e9rv\u00e9nyes\u00edt\u00e9s\u00e9t, ahogyan azt az RFC 5280 \u00e9s az RFC 9618 defini\u00e1lja. Az \u00faj mez\u0151 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#VerifyOptions.CertificatePolicies\">VerifyOptions.CertificatePolicies<\/a> be\u00e1ll\u00edthat\u00f3 egy elfogadhat\u00f3 politik\u00e1k k\u00e9szlet\u00e9re <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#OID\">OIDs<\/a>. Csak az \u00e9rv\u00e9nyes politikai gr\u00e1fokkal rendelkez\u0151 tan\u00fas\u00edtv\u00e1nyl\u00e1ncok lesznek visszaadva a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#Certificate.Verify\">Certificate.Verify<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#MarshalPKCS8PrivateKey\">MarshalPKCS8PrivateKey<\/a> most hib\u00e1t ad vissza a hib\u00e1s RSA kulcs kiemel\u00e9se helyett. (<a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#MarshalPKCS1PrivateKey\">MarshalPKCS1PrivateKey<\/a> nincs hiba\u00fczenete, \u00e9s a hib\u00e1s kulcsok megad\u00e1sa eset\u00e9n a viselked\u00e9se tov\u00e1bbra is meghat\u00e1rozatlan marad.)<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#ParsePKCS1PrivateKey\">ParsePKCS1PrivateKey<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/crypto\/x509#ParsePKCS8PrivateKey\">ParsePKCS8PrivateKey<\/a> most m\u00e1r haszn\u00e1lja \u00e9s \u00e9rv\u00e9nyes\u00edti a CRT k\u00f3dolt \u00e9rt\u00e9keket, \u00edgy elutas\u00edthatj\u00e1k azokat a hib\u00e1s RSA kulcsokat is, melyeket kor\u00e1bban elfogadtak. A haszn\u00e1lat <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">GODEBUG be\u00e1ll\u00edt\u00e1sok<\/a> x509rsacrt=0 visszat\u00e9r a CRT \u00e9rt\u00e9kek \u00fajrasz\u00e1m\u00edt\u00e1s\u00e1hoz.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/debug\/elf\/\">debug\/elf<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Csomag <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/debug\/elf\">debug\/elf<\/a> hozz\u00e1adja a dinamikus ELF (Executable and Linkable Format) f\u00e1jlokban a szimbolikus verzi\u00f3k kezel\u00e9s\u00e9nek t\u00e1mogat\u00e1s\u00e1t. Az \u00faj m\u00f3dszer <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/debug\/elf#File.DynamicVersions\">File.DynamicVersions<\/a> visszaadja az ELF f\u00e1jlban meghat\u00e1rozott dinamikus verzi\u00f3k list\u00e1j\u00e1t. Az \u00faj m\u00f3dszer <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/debug\/elf#File.DynamicVersionNeeds\">File.DynamicVersionNeeds<\/a> visszaadja a f\u00e1jlhoz sz\u00fcks\u00e9ges dinamikus verzi\u00f3k list\u00e1j\u00e1t, amelyeket m\u00e1s ELF objektumok defini\u00e1lnak. V\u00e9g\u00fcl az \u00faj mez\u0151k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/debug\/elf#Symbol\">Symbol.HasVersion<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/debug\/elf#Symbol\">Symbol.VersionIndex<\/a> megmutatj\u00e1k a szimb\u00f3lum verzi\u00f3j\u00e1t.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding\/\">encoding<\/a><\/h4>\n<p> <noindex><\/p>\n<p>K\u00e9t \u00faj interf\u00e9sz <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">TextAppender<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">BinaryAppender<\/a> lett bevezetve az objektum sz\u00f6veges vagy bin\u00e1ris reprezent\u00e1ci\u00f3j\u00e1nak b\u00e1jt szelethez val\u00f3 hozz\u00e1ad\u00e1s\u00e1ra. Ezek az interf\u00e9szek ugyanazt a funkcionalit\u00e1st ny\u00fajtj\u00e1k, mint a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextMarshaler\">TextMarshaler<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryMarshaler\">BinaryMarshaler<\/a>, de ahelyett, hogy minden alkalommal \u00faj szeletet allok\u00e1ln\u00e1nak, k\u00f6zvetlen\u00fcl a megl\u00e9v\u0151 szelethez adj\u00e1k az adatokat. Ezeket az interf\u00e9szeket most a szabv\u00e1nyos k\u00f6nyvt\u00e1r \u00e1ltal implement\u00e1lt t\u00edpusok val\u00f3s\u00edtj\u00e1k meg, amelyek m\u00e1r implement\u00e1lt\u00e1k a TextMarshaler \u00e9s\/vagy BinaryMarshaler-t.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding\/json\/\">encoding\/json<\/a><\/h4>\n<p> <noindex><\/p>\n<p>A konstrukci\u00f3kor a strukt\u00farafeldolgoz\u00f3 mez\u0151j\u00e9t az \u00faj omitzero opci\u00f3val a mez\u0151 \u00e9rt\u00e9ke nulla eset\u00e9n elhagyj\u00e1k. Ha a mez\u0151 t\u00edpusa rendelkezik IsZero() bool m\u00f3dszerrel, azt fogj\u00e1k haszn\u00e1lni az \u00e9rt\u00e9k nullas\u00e1g\u00e1nak meg\u00e1llap\u00edt\u00e1s\u00e1ra. Ellenkez\u0151 esetben az \u00e9rt\u00e9k null\u00e1nak sz\u00e1m\u00edt, ha az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/ref\/spec#The_zero_value\">nulla \u00e9rt\u00e9k a t\u00edpusa sz\u00e1m\u00e1ra<\/a>. Az omitzero mez\u0151tag tiszt\u00e1bb \u00e9s kev\u00e9sb\u00e9 hajlamos a hib\u00e1kra, mint az omitempty, amikor a c\u00e9l az, hogy a null \u00e9rt\u00e9keket elhagyni. K\u00fcl\u00f6n\u00f6sen, ellent\u00e9tben az omitempty-el, az omitzero elhagyja a null <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/time#Time\">time.Time<\/a> \u00e9rt\u00e9keket, amelyek gyakori probl\u00e9m\u00e1kat okoznak.<\/p>\n<p><\/noindex> <\/p>\n<p>Ha mindkett\u0151 meg van adva, az omitempty \u00e9s az omitzero, a mez\u0151 elhagy\u00e1sra ker\u00fcl, ha az \u00e9rt\u00e9k \u00fcres vagy nulla (vagy egyszerre mindkett\u0151).<\/p>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding\/json#UnmarshalTypeError.Field\">UnmarshalTypeError.Field<\/a> most m\u00e1r be\u00e9p\u00edtett strukt\u00far\u00e1kat tartalmaz a r\u00e9szletesebb hiba\u00fczenetek biztos\u00edt\u00e1sa \u00e9rdek\u00e9ben.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types\/\">go\/types<\/a><\/h4>\n<p>Minden go\/typus adatszerkezet, amely a Len() int \u00e9s az At(int) T met\u00f3dusok p\u00e1rj\u00e1t fedi fel, most m\u00e1r olyan met\u00f3dusokkal is rendelkezik, amelyek iter\u00e1torokat adnak vissza, lehet\u0151v\u00e9 t\u00e9ve az ilyen k\u00f3dok egyszer\u0171s\u00edt\u00e9s\u00e9t:<\/p>\n<p> params := fn.Type.(*types.Signature).Params() for i := 0; i &lt; params.Len(); i++ {   use(params.At(i)) }   <\/p>\n<p>Erre:<\/p>\n<p> for param := range fn.Signature().Params().Variables() {   use(param) }   <noindex><\/p>\n<p>Met\u00f3dusok: <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Interface.EmbeddedTypes\">Interface.EmbeddedTypes<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Interface.ExplicitMethods\">Interface.ExplicitMethods<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Interface.Methods\">Interface.Methods<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#MethodSet.Methods\">MethodSet.Methods<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Named.Methods\">Named.Methods<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Scope.Children\">Scope.Children<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Struct.Fields\">Struct.Fields<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Tuple.Variables\">Tuple.Variables<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#TypeList.Types\">TypeList.Types<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#TypeParamList.TypeParams\">TypeParamList.TypeParams<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/go\/types#Union.Terms\">Union.Terms<\/a><\/p>\n<p><\/noindex> <\/p>\n<h4>hash\/*<\/h4>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/adler32\/\">hash\/adler32<\/a>: az \u00e9rt\u00e9k, amelyet a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/adler32#New\">\u00daj<\/a>, most m\u00e1r az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/crc32\/\">hash\/crc32<\/a>: az \u00e9rt\u00e9kek, amelyeket a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/crc32#New\">\u00daj<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/crc32#NewIEEE\">NewIEEE<\/a>, most m\u00e1r szint\u00e9n implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/crc64\/\">hash\/crc64<\/a>: az \u00e9rt\u00e9k, amelyet a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/crc64#New\">\u00daj<\/a>, most m\u00e1r az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv\/\">hash\/fnv<\/a>: az \u00e9rt\u00e9kek, amelyeket a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv#New32\">New32<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv#New32a\">New32a<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv#New64\">New64<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv#New64a\">New64a<\/a> <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv#New128\">New128<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/fnv#New128a\">New128a<\/a>, most m\u00e1r szint\u00e9n implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/maphash\/\">hash\/maphash<\/a>: \u00faj funkci\u00f3k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/maphash#Comparable\">Comparable<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/hash\/maphash#WriteComparable\">WriteComparable<\/a> k\u00e9pesek b\u00e1rmilyen \u00f6sszehasonl\u00edthat\u00f3 \u00e9rt\u00e9k hash-\u00e9rt\u00e9k\u00e9nek kisz\u00e1m\u00edt\u00e1s\u00e1ra. Ez lehet\u0151v\u00e9 teszi, hogy b\u00e1rmit hash-elj\u00fcnk, ami kulcsk\u00e9nt haszn\u00e1lhat\u00f3 a Go sz\u00f3t\u00e1rban.<\/li>\n<\/ul>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/log\/slog\/\">log\/slog<\/a><\/h4>\n<p> <noindex><\/p>\n<p>\u00daj <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/log\/slog#DiscardHandler\">DiscardHandler<\/a> egy olyan handler, amely soha nem akt\u00edv \u00e9s mindig eldobja a kimenet\u00e9t.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/log\/slog#Level\">Szint<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/log\/slog#LevelVar\">LevelVar<\/a> mostant\u00f3l implement\u00e1lja az interf\u00e9szt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAppender<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4>math\/*<\/h4>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/big\/\">math\/big<\/a>: <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/big#Float\">Float<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/big#Int\">Int<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/big#Rat\">Rat<\/a> mostant\u00f3l implement\u00e1lja az interf\u00e9szt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAppender<\/a>.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/rand\/\">math\/rand<\/a>: az elavult magas szint\u0171 funkci\u00f3k h\u00edv\u00e1sai <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/rand#Seed\">Seed<\/a> t\u00f6bbet nem gyakorolnak hat\u00e1st. A r\u00e9gi viselked\u00e9s helyre\u00e1ll\u00edt\u00e1s\u00e1hoz haszn\u00e1lhat\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/godebug\">the GODEBUG setting<\/a> randseednop=0. Tov\u00e1bbi inform\u00e1ci\u00f3 a <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/67273\">67273-as javaslatban<\/a>.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/rand\/v2\/\">math\/rand\/v2<\/a>: <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/rand\/v2#ChaCha8\">ChaCha8<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/math\/rand\/v2#PCG\">PCG<\/a> mostant\u00f3l implement\u00e1lja az interf\u00e9szt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a>.<\/li>\n<\/ul>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/\">net<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net#ListenConfig\">ListenCondig<\/a> mostant\u00f3l alap\u00e9rtelmezetten MPTCP-t haszn\u00e1l a rendszereken, ahol ez t\u00e1mogatott (jelenleg csak Linux).<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net#IP\">IP<\/a> mostant\u00f3l implement\u00e1lja az interf\u00e9szt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAppender<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http\/\">net\/http<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Megv\u00e1ltozott a korl\u00e1toz\u00e1s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Transport\">Transport<\/a> az 1xx-es v\u00e1laszokat \u00e9rint\u0151 inform\u00e1ci\u00f3k eset\u00e9ben a k\u00e9r\u00e9sre. Kor\u00e1bban ez meg\u00e1ll\u00edtotta a k\u00e9r\u00e9st, \u00e9s hib\u00e1t adott vissza, miut\u00e1n t\u00f6bb mint 5 1xx v\u00e1laszt kapott. Most csak akkor ad hib\u00e1t, ha az \u00f6sszes 1xx v\u00e1lasz m\u00e9rete t\u00fall\u00e9pi a konfigur\u00e1ci\u00f3s be\u00e1ll\u00edt\u00e1st <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Transport.MaxResponseHeaderBytes\">Transport.MaxResponseHeaderBytes<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Ezen k\u00edv\u00fcl, amikor a k\u00e9r\u00e9s rendelkezik egy k\u00f6vet\u00e9si hook-kal <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http\/httptrace#ClientTrace.Got1xxResponse\">net\/http\/httptrace.ClientTrace.Got1xxResponse<\/a>, most nincs korl\u00e1toz\u00e1s az \u00f6sszes 1xx v\u00e1lasz sz\u00e1m\u00e1ra. A Got1xxResponse hook hib\u00e1t adhat vissza a k\u00e9r\u00e9s le\u00e1ll\u00edt\u00e1s\u00e1hoz.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Transport\">Transport<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Server\">Szerver<\/a> mostanra van egy HTTP2 mez\u0151, amely lehet\u0151v\u00e9 teszi a HTTP\/2 protokoll be\u00e1ll\u00edt\u00e1s\u00e1nak konfigur\u00e1l\u00e1s\u00e1t.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>\u00daj mez\u0151k <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Server.Protocols\">Server.Protocols<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Transport.Protocols\">Transport.Protocols<\/a> egyszer\u0171 m\u00f3dot ny\u00fajtanak arra, hogy be\u00e1ll\u00edts\u00e1k, mely HTTP protokollokat haszn\u00e1l a szerver vagy az \u00fcgyf\u00e9l.<\/p>\n<p><\/noindex> <\/p>\n<p>A szerver \u00e9s az \u00fcgyf\u00e9l konfigur\u00e1lhat\u00f3, hogy t\u00e1mogassanak titkos\u00edtatlan HTTP\/2 kapcsol\u00f3d\u00e1sokat.<\/p>\n<p> <noindex><\/p>\n<p>Amikor <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Server.Protocols\">Server.Protocols<\/a> az UnencrypterHTTP2-t tartalmazza, a szerver HTTP\/2 kapcsol\u00f3d\u00e1sokat fogad titkos\u00edtatlan portokon. A szerver egyszerre fogadhat HTTP\/1-t \u00e9s titkos\u00edtatlan HTTP\/2-t ugyanazon a porton.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Amikor <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/http#Transport.Protocols\">Transport.Protocols<\/a> az UnencryptedHTTP2-t tartalmazza \u00e9s nem tartalmaz HTTP1-et, a transport titkos\u00edtatlan HTTP\/2-t fog haszn\u00e1lni a c\u00edmekhez <a rel=\"nofollow\" href=\"http:\/\/.\">http:\/\/.<\/a> Ha a transport konfigur\u00e1lva van, hogy egyszerre haszn\u00e1lja a HTTP\/1 \u00e9s a titkos\u00edtatlan HTTP\/2-t, akkor a HTTP\/1-et fogja haszn\u00e1lni.<\/p>\n<p><\/noindex> <\/p>\n<p>A titkos\u00edtatlan HTTP\/2 t\u00e1mogat\u00e1sa \"HTTP\/2 el\u0151zetes tud\u00e1ssal\" (RFC 9113, 3.3. szakasz) szerint val\u00f3sul meg. Az elavult \"Upgrade: h2c\" fejl\u00e9c nem t\u00e1mogatott.<\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/netip\/\">net\/netip<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/netip#Addr\">C\u00edm<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/netip#AddrPort\">C\u00edmPort<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/netip#Prefix\">Prefix<\/a> mostant\u00f3l interf\u00e9szeket val\u00f3s\u00edtanak meg <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAppender<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/url\/\">net\/url<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/net\/url#URL\">URL<\/a> most m\u00e1r szint\u00e9n implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user\/\">os\/user<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Windows alatt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user#Current\">Jelenlegi<\/a> most m\u00e1r haszn\u00e1lhat\u00f3 a Windows Nano Serveren. A megval\u00f3s\u00edt\u00e1s friss\u00edtve lett, hogy elker\u00fclje a NetApi32 k\u00f6nyvt\u00e1rb\u00f3l sz\u00e1rmaz\u00f3 funkci\u00f3k haszn\u00e1lat\u00e1t, amelyek hi\u00e1nyoznak a Nano Serverb\u0151l.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Windows alatt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user#Current\">Jelenlegi<\/a>, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user#Lookup\">Keres\u00e9s<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user#LookupId\">LookupId<\/a> mostant\u00f3l t\u00e1mogatja a k\u00f6vetkez\u0151 be\u00e9p\u00edtett felhaszn\u00e1l\u00f3i szolg\u00e1ltat\u00e1si fi\u00f3kokat:<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li>NT AUTHORITYSYSTEM<\/li>\n<li>NT AUTHORITYLOCAL SERVICE<\/li>\n<li>NT AUTHORITYNETWORK SERVICE<\/li>\n<\/ul>\n<p> <noindex><\/p>\n<p>Windows alatt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user#Current\">Jelenlegi<\/a> jelent\u0151sen felgyorsult, amikor a jelenlegi felhaszn\u00e1l\u00f3 lass\u00fa domainekhez csatlakozik, ami sok v\u00e1llalati felhaszn\u00e1l\u00f3 sz\u00e1m\u00e1ra gyakori eset. Az \u00faj megval\u00f3s\u00edt\u00e1s teljes\u00edtm\u00e9nye most m\u00e1r milliszekundumokban m\u00e9rhet\u0151, szemben a kor\u00e1bbi megval\u00f3s\u00edt\u00e1ssal, amely t\u00f6bb m\u00e1sodpercet, s\u0151t perceket is ig\u00e9nybe vehetett a befejez\u00e9shez.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Windows alatt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/os\/user#Current\">Jelenlegi<\/a> most a folyamat tulajdonos\u00e1nak felhaszn\u00e1l\u00f3j\u00e1t adja vissza, amikor a jelenlegi sz\u00e1l egy m\u00e1sik felhaszn\u00e1l\u00f3k\u00e9nt van kiadva. Kor\u00e1bban ez hiba\u00fczenetet adott vissza.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/regexp\/\">regexp<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/regexp#Regexp\">Regexp<\/a> mostant\u00f3l implement\u00e1lja az interf\u00e9szt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAdapter<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/runtime\/\">runtime<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Funkci\u00f3 <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/runtime#GOROOT\">GOROOT<\/a> mostant\u00f3l elavultnak van nyilv\u00e1n\u00edtva. Az \u00faj k\u00f3dokban el\u0151nyben kell r\u00e9szes\u00edteni a rendszerspecifikus \u00fatvonal haszn\u00e1lat\u00e1t a \"go\" bin\u00e1ris meghat\u00e1roz\u00e1s\u00e1hoz, \u00e9s a GOROOT meghat\u00e1roz\u00e1s\u00e1hoz haszn\u00e1lni kell a go env GOROOT parancsot.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings\/\">strings<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Csomag <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings\">strings<\/a> n\u00e9h\u00e1ny funkci\u00f3t ad hozz\u00e1 az iter\u00e1torok kezel\u00e9s\u00e9hez:<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings#Lines\">Lines<\/a> visszaadja az iter\u00e1tort az \u00faj vonallal elv\u00e1lasztott sorokhoz a sz\u00f6vegben.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings#SplitSeq\">SplitSeq<\/a> visszaadja az iter\u00e1tort az \u00f6sszes r\u00e9szstringhez, amelyet szepar\u00e1tor v\u00e1laszt el a sz\u00f6vegben.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings#SplitAfterSeq\">SplitAfterSeq<\/a> visszaadja az iter\u00e1tort a sz\u00f6vegr\u00e9szletekhez, amelyeket a szepar\u00e1tor minden el\u0151fordul\u00e1sa ut\u00e1n v\u00e1lasztanak el.<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings#FieldsSeq\">FieldsSeq<\/a> visszaadja az iter\u00e1tort a sz\u00f6vegr\u00e9szletekhez, amelyek sz\u00f3k\u00f6z karakterek sorozatai k\u00f6r\u00fcl helyezkednek el, ahogy azt meghat\u00e1rozt\u00e1k.<a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/unicode#IsSpace\">unicode.IsSpace<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/strings#FieldsFuncSeq\">FieldsFuncSeq<\/a> visszaadja az iter\u00e1tort a sz\u00f6vegr\u00e9szletekhez, amelyek unicode k\u00f3dpontok sorozatai k\u00f6r\u00fcl helyezkednek el, amelyek megfelelnek a predik\u00e1tumnak.<\/li>\n<\/ul>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sync\/\">sync<\/a><\/h4>\n<p> <noindex><\/p>\n<p>Megval\u00f3s\u00edt\u00e1s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/sync#Map\">sync.Map<\/a> meg lett v\u00e1ltoztatva, hogy jav\u00edtsa a teljes\u00edtm\u00e9nyt, k\u00fcl\u00f6n\u00f6sen a sz\u00f3t\u00e1r m\u00f3dos\u00edt\u00e1sa sor\u00e1n. P\u00e9ld\u00e1ul kev\u00e9sb\u00e9 val\u00f3sz\u00edn\u0171, hogy \u00fctk\u00f6z\u0151 m\u00f3dos\u00edt\u00e1sok t\u00f6rt\u00e9nnek az \u00e1tfed\u00e9s n\u00e9lk\u00fcli halmazokn\u00e1l nagy sz\u00f3t\u00e1rak eset\u00e9n, \u00e9s a kis \u00fctk\u00f6z\u00e9s\u0171 sz\u00f3t\u00e1r terhel\u00e9shez nem sz\u00fcks\u00e9ges id\u0151t n\u00f6velni.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Ha b\u00e1rmilyen probl\u00e9m\u00e1t tapasztal, \u00e1ll\u00edtsa be a GOEXPERIMENT=nosynchashtriemap az \u00e9p\u00edt\u00e9s sor\u00e1n, hogy vissza\u00e1lljon a r\u00e9gi megval\u00f3s\u00edt\u00e1sra, \u00e9s k\u00e9rem, <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/new\">t\u00f6ltse ki a probl\u00e9ma \u0171rlapot<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing\/\">tesztel\u00e9s<\/a><\/h4>\n<p> <noindex><\/p>\n<p>\u00daj m\u00f3dszerek <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing#T.Context\">T.Context<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing#B.Context\">B.Context<\/a> visszaadja a kontextust, amely visszavon\u00e1sra ker\u00fcl a teszt befejez\u00e9se ut\u00e1n \u00e9s a teszt tiszt\u00edt\u00f3 funkci\u00f3inak v\u00e9grehajt\u00e1sa el\u0151tt.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>\u00daj m\u00f3dszerek <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing#T.Chdir\">T.Chdir<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/testing#B.Chdir\">B.Chdir<\/a> haszn\u00e1lhat\u00f3 a munkak\u00f6nyvt\u00e1r megv\u00e1ltoztat\u00e1s\u00e1ra a teszt vagy benchmark fut\u00e1sa alatt.<\/p>\n<p><\/noindex> <\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/text\/template\/\">text\/template<\/a><\/h4>\n<p>A sablonok most t\u00e1mogatj\u00e1k a range-over-func \u00e9s range-over-int haszn\u00e1lat\u00e1t.<\/p>\n<h4><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/time\/\">time<\/a><\/h4>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/time#Time\">Id\u0151<\/a> mostant\u00f3l implement\u00e1lja az <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#BinaryAppender\">encoding.BinaryAppender<\/a> \u00e9s <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/encoding#TextAppender\">encoding.TextAppender<\/a>.<\/p>\n<p><\/noindex> <\/p>\n<h2>Portok<\/h2>\n<h3>Linux<\/h3>\n<p> <noindex><\/p>\n<p>Hogyan volt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/doc\/go1.23#linux\">bejelentett\u00e9k<\/a> a Go 1.23 kiad\u00e1sjegyz\u00e9k\u00e9ben, a Go 1.24 a 3.2-es vagy \u00fajabb Linux kernelt ig\u00e9nyli.<\/p>\n<p><\/noindex> <\/p>\n<h3>Darwin<\/h3>\n<p>A Go 1.24 az utols\u00f3 verzi\u00f3, amely futni fog a macOS 11 Big Sur-on. A Go 1.25 a macOS 12 Monterey vagy \u00fajabb verzi\u00f3t fogja ig\u00e9nyelni.<\/p>\n<h3>WebAssembly-t,<\/h3>\n<p>A go:wasmexport ford\u00edt\u00f3 direkt\u00edva hozz\u00e1adva lett a Go programokhoz a WebAssembly host funkci\u00f3k export\u00e1l\u00e1s\u00e1hoz.<\/p>\n<p> <noindex><\/p>\n<p>A WebAssembly System Interface Preview 1 (GOOS=wasip1 GOARCH=wasm) a Go 1.24 lehet\u0151v\u00e9 teszi a Go program \u00e9p\u00edt\u00e9s\u00e9t, mint <a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/WASI\/blob\/63a46f61052a21bfab75a76558485cf097c0dbba\/legacy\/application-abi.md#current-unstable-abi\">reaktor\/k\u00f6nyvt\u00e1r<\/a> a -buildmode=c-shared \u00e9p\u00edt\u00e9si z\u00e1szl\u00f3 megad\u00e1s\u00e1val.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>T\u00f6bb t\u00edpus most enged\u00e9lyezett argumentum- vagy eredm\u00e9ny t\u00edpusk\u00e9nt a go:wasmimport funkci\u00f3khoz. K\u00fcl\u00f6n\u00f6sen, bool, string, uintptr \u00e9s mutat\u00f3k bizonyos t\u00edpusokra enged\u00e9lyezettek (tov\u00e1bbi r\u00e9szletek l\u00e1that\u00f3k itt <a rel=\"nofollow\" href=\"https:\/\/go.dev\/pkg\/cmd\/compile#hdr-WebAssembly_Directives\">dokument\u00e1ci\u00f3<\/a>), egy\u00fctt a 32-bites \u00e9s 64-bites eg\u00e9sz sz\u00e1mokkal \u00e9s lebeg\u0151pontos sz\u00e1mokkal, valamint az unsafe.Pointer, amelyek m\u00e1r enged\u00e9lyezve vannak. Ezek a t\u00edpusok is enged\u00e9lyezettek argumentum- vagy eredm\u00e9nyt\u00edpusk\u00e9nt a go:wasmexport funkci\u00f3khoz.<\/p>\n<p><\/noindex> <\/p>\n<p>A WebAssembly t\u00e1mogat\u00e1si f\u00e1jlok a lib\/wasm-ba ker\u00fcltek \u00e1t a misc\/wasm-b\u00f3l.<\/p>\n<p>A mem\u00f3ria kezdeti m\u00e9rete jelent\u0151sen cs\u00f6kkent, k\u00fcl\u00f6n\u00f6sen a kis WebAssembly alkalmaz\u00e1sok eset\u00e9ben.<\/p>\n<h3>Windows<\/h3>\n<p> <noindex><\/p>\n<p>A 32-bites windows\/arm port (GOOS=windows GOARCH=arm) t\u00f6r\u00f6ttk\u00e9nt lett megjel\u00f6lve. R\u00e9szletek itt: <a rel=\"nofollow\" href=\"https:\/\/go.dev\/issue\/70705\">#70705<\/a><\/p>\n<p><\/noindex><\/p>\n<p>Forr\u00e1s: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/17884044\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u043e\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u044f\u0437\u044b\u043a\u0430 Go, \u0432\u0435\u0440\u0441\u0438\u044f 1.24, \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0441\u043f\u0443\u0441\u0442\u044f \u0448\u0435\u0441\u0442\u044c \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043f\u043e\u0441\u043b\u0435 Go 1.23. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0443\u043b\u0447\u0435\u0439\u043d\u0430, \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u041a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u0440\u0435\u043b\u0438\u0437 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u0435\u0449\u0430\u043d\u0438\u0435 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 Go 1. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u044f\u0437\u044b\u043a\u0430 \u043e\u0436\u0438\u0434\u0430\u044e\u0442, \u0447\u0442\u043e \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b Go \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u0435\u0436\u0434\u0435. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u044f\u0437\u044b\u043a\u0435 Go 1.24 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u043e\u0431\u0449\u0451\u043d\u043d\u044b\u0435 \u0430\u043b\u0438\u0430\u0441\u044b \u0442\u0438\u043f\u043e\u0432: \u0430\u043b\u0438\u0430\u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":121951,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121950","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/news\/go-1-24\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Go 1.24 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/news\/go-1-24\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-15T12:22:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-15T12:22:29+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Go 1.24 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/news\/go-1-24","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Go 1.24 | ProHoster","og:url":"https:\/\/prohoster.info\/hu\/blog\/news\/go-1-24","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-15T12:22:29+00:00","article:modified_time":"2025-02-15T12:22:29+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121950","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:38:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:38:20","updated":"2026-01-23 10:38:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/121950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=121950"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/121950\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/121951"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=121950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=121950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=121950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}