گو ٻولي جو هڪ نئون رليز، نسخو 1.24، ڇهن مهينن بعد اچي ٿو 1.23 وڃو. گهڻيون تبديليون ٽول چين، رن ٽائم ۽ لائبريرين جي نفاذ ۾ آهن. هميشه وانگر، رليز مهيا ڪري ٿي مطابقت جو واعدو گو 1. ٻولي ڊيزائنرز توقع ڪن ٿا ته تقريبن سڀئي گو پروگرام اڳ وانگر مرتب ۽ هلندا رهندا.
ٻولي ۾ تبديليون
گو 1.24 هاڻي مڪمل طور تي سپورٽ ڪري ٿو عام قسم جا عرف: هڪ قسم جي عرف کي اعلان ڪيل قسم جي طور تي پيرا ميٽرائيز ڪري سگهجي ٿو. تفصيل ۾ ٻولي جون وضاحتون. هاڻي لاءِ، هي خصوصيت GOEXPERIMENT=noaliastypeparams سيٽ ڪري غير فعال ڪري سگهجي ٿي؛ جڏهن ته، aliastypeparams آپشن Go 1.25 ۾ هٽايو ويندو.
اوزار
حڪم ڏيو
گو ماڊيول هاڻي go.mod ۾ ٽول ڊائريڪشن استعمال ڪندي ايگزيڪيوٽوبل انحصار کي ٽريڪ ڪري سگهن ٿا. هي هڪ فائل ۾ خالي درآمد جي طور تي اوزار شامل ڪرڻ جي اڳوڻي حل جي ضرورت کي ختم ڪري ٿو جنهن کي عام طور تي "tools.go" سڏيو ويندو آهي. گو ٽول ڪمانڊ هاڻي انهن ٽولز کي گو سان گڏ ايندڙ ٽولز کان علاوه هلائي سگهي ٿو. وڌيڪ معلومات هتي ملي سگهي ٿي دستاويز.
گو گيٽ لاءِ نئون -ٽول فليگ گهربل هدايتون شامل ڪرڻ کان علاوه مخصوص پيڪيجز لاءِ موجوده ماڊل ۾ ٽول هدايتون شامل ڪرڻ جو سبب بڻجندو آهي.
نئين ميٽا-پيٽرن ٽول موجوده ماڊيول ۾ سڀني اوزارن جو حوالو ڏئي ٿو. هي انهن سڀني کي گو گيٽ ٽول ذريعي اپڊيٽ ڪرڻ لاءِ استعمال ڪري سگهجي ٿو، يا گو انسٽال ٽول ذريعي انهن کي پنهنجي GOBIN ڊاريڪٽري ۾ انسٽال ڪرڻ لاءِ.
گو رن ذريعي ٺاهيل ايگزيڪيوٽيبلز ۽ نئين گو ٽول رويي کي هاڻي گو بلڊ ڪيش ۾ ڪيش ڪيو ويندو آهي. هي وڌندڙ ڪيش جي ڪري بار بار لانچ ڪرڻ کي ممڪن بڻائي ٿو. #69290.
گو بلڊ ۽ گو انسٽال ڪمانڊ هاڻي -json فليگ قبول ڪن ٿا، جيڪو بلڊ آئوٽ پُٽ ۽ غلطين کي معياري آئوٽ پُٽ تي منظم JSON آئوٽ پُٽ طور رپورٽ ڪري ٿو. فارميٽ جي تفصيل go help buildjson ۾ ڏسي سگھجي ٿي.
وڌيڪ، go test -json هاڻي JSON ۾ آئوٽ پُٽ ۽ بلڊ غلطين جي رپورٽ ڪري ٿو، جيڪي ٽيسٽ جي نتيجي JSON سان ملايا ويا آهن. انهن کي نئين ايڪشن قسمن سان سڃاڻي سگهجي ٿو، پر جيڪڏهن اهي ٽيسٽ انٽيگريشن سسٽم ۾ مسئلا پيدا ڪن ٿا، ته توهان بلڊ جي ٽيڪسٽ آئوٽ پُٽ تي واپس وڃي سگهو ٿا GODEBUG سيٽ اپ گوٽيسٽ جيسن بلڊ ٽيڪسٽ = 1.
نئون GOAUTH ماحولياتي متغير خانگي ماڊيول پل کي اختيار ڏيڻ جو هڪ لچڪدار طريقو فراهم ڪري ٿو. توهان go help goauth ۾ تفصيل ڏسي سگهو ٿا.
گو بلڊ ڪمانڊ هاڻي انسٽال ٿيل آهي. مکيه ماڊل جو نسخو مرتب ڪيل بائنري ۾، هڪ ٽيگ ۽/يا ورزن ڪنٽرول ڪمٽ جي بنياد تي. جيڪڏهن غير متوقع تبديليون هونديون ته +dirty suffix شامل ڪيو ويندو. -buildvcs=false جھنڊو بائنري مان ورزن ڪنٽرول معلومات کي ختم ڪرڻ لاءِ استعمال ڪري سگھجي ٿو.
نئون GODEBUG سيٽ اپ ٽول چينٽريس = 1 هاڻي گو ڪمانڊ ۾ ٽول چين جي چونڊ جي عمل کي ٽريڪ ڪرڻ لاءِ استعمال ڪري سگهجي ٿو.
سي جي او
سيگو رن ٽائم ڪارڪردگي کي بهتر بڻائڻ لاءِ سي فنڪشنز لاءِ نئين تشريحن جي حمايت ڪري ٿو. #cgo noescape cFunctionName ڪمپائلر کي ٻڌائي ٿو ته C فنڪشن cFunctionName ڏانهن منتقل ٿيل ميموري اسڪيپ نه ٿي آهي. #cgo nocallback cFunctionName ڪمپائلر کي ٻڌائي ٿو ته C فنڪشن cFunctionName ڪنهن به Go فنڪشن کي ڪال بيڪ نٿو ڪري. وڌيڪ معلومات هتي ملي سگهي ٿي سي جي او دستاويزي.
سيگو هن وقت هڪ سي فنڪشن ڏانهن ڪالز مرتب ڪرڻ کان انڪار ڪري ٿو جنهن ۾ ڪيترائي غير مطابقت رکندڙ اعلان آهن. مثال طور، جيڪڏهن f کي void f(int) ۽ void f(double) ٻنهي طور قرار ڏنو ويو آهي، ته cgo ممڪن طور تي هڪ غلط ڪالنگ تسلسل f(0) پيدا ڪرڻ بدران هڪ غلطي جي رپورٽ ڪندو. هن رليز ۾ نئون آهي هن غلطي جي حالت جي بهتر سڃاڻپ جڏهن غير مطابقت رکندڙ اعلان مختلف فائلن ۾ ظاهر ٿين ٿا. #67699.
اوبجڊمپ
objdump ٽول هاڻي 64-bit LoongArch (GOARCH=loong64)، RISC-V (GOARCH=riscv64)، ۽ S390X (GOARCH=s390x) تي ڌار ڪرڻ جي حمايت ڪري ٿو.
هنٽ
نئون ٽيسٽ اينالائيزر ٽيسٽ سوئيٽس ۾ ٽيسٽ، فزر، بينچ مارڪ، ۽ مثال جي اعلانن ۾ عام غلطين جي رپورٽ ڪري ٿو، جهڙوڪ خراب نالا، غلط دستخط، يا مثال جيڪي غير موجود سڃاڻپ ڪندڙن کي دستاويز ڪن ٿا. انهن مان ڪجهه غلطيون ٽيسٽن جي ناڪامي جو سبب بڻجي سگهن ٿيون.
موجوده printf parser هاڻي fmt.Printf(s) فارم جي ڪالن لاءِ تشخيص جي رپورٽ ڪري ٿو، جتي s هڪ غير مستقل فارميٽ اسٽرنگ آهي جنهن ۾ ڪو به ٻيو دليل ناهي. اهڙيون ڪالون تقريبن هميشه هڪ غلطي هونديون آهن، ڇاڪاڻ ته s جي قدر ۾ % ڪردار شامل ٿي سگهي ٿو؛ ان جي بدران fmt.Print استعمال ڪريو. 60529. هي چيڪ موجوده ڪوڊ ۾ شيون ڳولڻ جو رجحان رکي ٿو، ۽ تنهن ڪري صرف تڏهن لاڳو ڪيو ويندو آهي جڏهن ٻولي ورزن (جيئن go.mod فائل جي go هدايت يا `//go:build` تبصرن پاران بيان ڪيل آهي) گهٽ ۾ گهٽ Go 1.24 هجي، Go 1.24 ٽول چين ۾ اپ گريڊ ڪرڻ وقت ڊگهي انضمام جي وقفي کان بچڻ لاءِ.
موجوده بلڊ ٽيگ اينالائيزر هاڻي تشخيص جي رپورٽ ڪري ٿو جڏهن ڪو غلط بلڊ ٽيگ هجي. پراڻي نسخي جي تعمير جي حد //go:build هدايت ۾ وڃو. مثال طور، //go:build go1.23.1 پوائنٽ رليز جو حوالو ڏئي ٿو؛ ان جي بدران //go:build go1.23 استعمال ڪريو. #64127.
موجوده ڪاپي لاڪ اينالائيزر هاڻي هڪ تشخيص جي رپورٽ ڪري ٿو جڏهن هڪ متغير کي ٽرپل "for" لوپ ۾ اعلان ڪيو ويندو آهي، جهڙوڪ for i := iter(); ڪيو ويو (i)؛ i = next(i) { … }، ۾ sync.Locker شامل آهي، جهڙوڪ sync.Mutex. 1.22 وڃو هر ورهاڱي لاءِ هڪ نئون متغير ٺاهڻ لاءِ اهڙن لوپس جي رويي کي تبديل ڪيو، پوئين ورهاڱي مان قدرن کي نقل ڪندي؛ هي ڪاپي تالن لاءِ محفوظ ناهي. #66387.
گوڪاچيپروگ
اندروني cmd/go بائنري ۽ ٽيسٽ ڪيشنگ ميڪانيزم هاڻي چائلڊ پروسيسز ذريعي لاڳو ڪري سگهجي ٿو جيڪي cmd/go ٽول ۽ GOCACHEPROG ماحولياتي متغير پاران نامزد ڪيل چائلڊ پروسيس جي وچ ۾ JSON پروٽوڪول لاڳو ڪن ٿا. اڳي اهو GOEXPERIMENT لاءِ هو. پروٽوڪول جا تفصيل هن ۾ ڏسي سگهجن ٿا دستاويز.
مڪمل ٿيڻ جو وقت
ڪيترن ئي رن ٽائيم ڪارڪردگي بهتري نمائندگي ڪندڙ معيارن جي هڪ سيٽ تي سراسري طور تي CPU اوور هيڊ کي 2-3٪ گهٽائي ڇڏيو. نتيجا درخواست جي لحاظ کان مختلف ٿي سگهن ٿا. انهن سڌارن ۾ هڪ نئون بلٽ ان نقشو لاڳو ڪرڻ شامل آهي جنهن جي بنياد تي سوئيڊش ٽيبلون، ننڍي آبجيڪٽ ميموري جي وڌيڪ ڪارآمد مختص ڪرڻ، ۽ ميوٽڪس جو هڪ نئون اندروني رن ٽائيم لاڳو ڪرڻ.
نئين بلٽ ان ميپ جي عملدرآمد ۽ نئين اندروني رن ٽائم ميوٽڪس کي ترتيب وار بلڊ ٽائيم تي GOEXPERIMENT=noswissmap ۽ GOEXPERIMENT=nospinbitmutex سيٽ ڪري غير فعال ڪري سگهجي ٿو.
مرتب ڪندڙ
ڪمپائلر اڳ ۾ ئي cgo پاران تيار ڪيل رسيور قسمن سان نوان طريقا بيان ڪرڻ کان منع ڪئي هئي، پر هڪ قسم جي عرف ذريعي هن پابندي جي چوڌاري ڪم ڪرڻ ممڪن هو. گو 1.24 هاڻي هميشه هڪ غلطي جي رپورٽ ڪندو آهي جيڪڏهن وصول ڪندڙ هڪ cgo-generated type کي ظاهر ڪري ٿو، يا ته سڌي طرح يا اڻ سڌي طرح (هڪ قسم جي عرف ذريعي).
لنڪر
لنڪر هاڻي ELF پليٽ فارمن تي هڪ GNU بلڊ سڃاڻپ ڪندڙ (ELF داخلا NT_GNU_BUILD_ID) ۽ macOS تي هڪ UUID (Mach-O لوڊ ڪمانڊ LC_UUID) ڊفالٽ طور تي پيدا ڪري ٿو. بلڊ آئي ڊي يا يو يو آءِ ڊي گو بلڊ آئي ڊي مان نڪتل آهي. هي -B none linker پرچم سان بند ڪري سگهجي ٿو، يا -B 0xNNNN لنڪر پرچم سان صارف جي مخصوص هيڪساڊيسيمل قدر سان اوور رائڊ ڪري سگهجي ٿو.
پروموشن
جيئن بيان ڪيو ويو آهي گو 1.22 رليز نوٽس، Go 1.24 کي هاڻي Go 1.22.6 يا بعد ۾ انسٽال ڪرڻ جي ضرورت آهي. ڊولپرز کي اميد آهي ته Go 1.26 کي رول آئوٽ ڪرڻ لاءِ Go 1.24 يا بعد ۾ پوائنٽ رليز جي ضرورت پوندي.
معياري لائبريري
ڊاريڪٽري-محدود فائل سسٽم رسائي
نئون قسم او ايس روٽ هڪ مخصوص ڊاريڪٽري اندر فائل سسٽم آپريشن ڪرڻ جي صلاحيت فراهم ڪري ٿو.
فعل او ايس. اوپن روٽ ڊاريڪٽري کوليندو آهي ۽ واپس ايندو آهي او ايس روٽ. طريقا آن او ايس روٽ انهي ڊاريڪٽري ۾ ڪم ڪريو ۽ رستن کي ڊاريڪٽري کان ٻاهر جي جڳهن ڏانهن رجوع ڪرڻ جي اجازت نه ڏيو، بشمول اهي جيڪي ڊاريڪٽري کان ٻاهر علامتي لنڪس جي پيروي ڪن ٿا. os.Root تي طريقا os پيڪيج ۾ موجود اڪثر فائل سسٽم آپريشنز کي ظاهر ڪن ٿا، مثال طور، او ايس. روٽ. اوپن, او ايس. روٽ. ٺاهيو, او ايس. روٽ. ايم ڪي ڊير и او ايس. روٽ. اسٽيٽ.
نئين معيار جي خاصيت
معيار هاڻي تيز، گهٽ غلطي جو شڪار طريقو استعمال ڪري سگهن ٿا ٽيسٽنگ. بي. لوپ bN کي شامل ڪندڙ عام لوپ ڍانچي جي بدران b.Loop() { … } وانگر هڪ بينچ مارڪ تي ٻيهر ورجائڻ جهڙوڪ رينج bN لاءِ هي ٻه اهم فائدا پيش ڪري ٿو:
- بينچ مارڪ فنڪشن في ڳڻپ ۾ بلڪل هڪ ڀيرو عمل ۾ آندو ويندو آهي، تنهن ڪري مهانگا سيٽ اپ ۽ صفائي جا مرحلا صرف هڪ ڀيرو عمل ۾ آندا ويندا آهن.
- فنڪشن ڪال پيرا ميٽرز ۽ نتيجا جاري رهن ٿا، ڪمپائلر کي لوپ باڊي کي مڪمل طور تي بهتر ڪرڻ کان روڪي ٿو.
بهتر فائنلائزر
نئين خاصيت رن ٽائم. صفائي شامل ڪريو هڪ مڪمل ڪرڻ وارو طريقو آهي جيڪو وڌيڪ لچڪدار، وڌيڪ ڪارآمد، ۽ گهٽ غلطي جو شڪار آهي رن ٽائم. سيٽ فائنلائزر. AddCleanup ڪنهن شئي سان صفائي جو ڪم ڳنڍيندو آهي جيڪو شئي جي دستياب نه ٿيڻ تي ئي هلايو ويندو. جڏهن ته، SetFinalizer جي برعڪس، هڪ ئي شئي سان ڪيترائي صفائيون ڳنڍي سگهجن ٿيون، صفائيون اندروني پوائنٽرن سان ڳنڍي سگهجن ٿيون، صفائيون عام طور تي ليڪ جو سبب نه بڻجنديون آهن جڏهن شيون هڪ چڪر ٺاهينديون آهن، ۽ صفائيون ان شئي يا شين جي ڊيلوڪشن ۾ دير نه ڪنديون آهن جنهن ڏانهن اهو اشارو ڪري ٿو. نئين ڪوڊ کي سيٽ فائنالائزر جي ڀيٽ ۾ ايڊ ڪلين اپ کي ترجيح ڏيڻ گهرجي.
نئون ڪمزور پيڪيج
نئون پيڪيج ڪمزور ڪمزور اشارا فراهم ڪري ٿو.
ڪمزور پوائنٽر هڪ گهٽ-سطح جي پرائمري آهن جيڪي ياداشت جي ڪارڪردگي واري جوڙجڪ ٺاهڻ لاءِ مهيا ڪيا ويا آهن جهڙوڪ ميپنگ ويليوز لاءِ ڪمزور ڊڪشنريون، ڪنهن به شيءِ لاءِ ڪيننيڪلائيزيشن ڊڪشنريون جيڪي پيڪيج ۾ شامل نه آهن. ڌار ڌار، ۽ مختلف قسمن جا ڪيش. انهن استعمال جي ڪيسن جي حمايت ڪرڻ لاءِ، هي رليز پڻ مهيا ڪري ٿو رن ٽائم. صفائي شامل ڪريو и ميفش. مقابلي لائق.
نئون crypto/mlkem پيڪيج
نئون پيڪيج ڪرپٽو/ايم ايل ڪي ايم ML-KEM-768 ۽ ML-KEM-1024 لاڳو ڪري ٿو.
ايم ايل-ڪي ايم هڪ پوسٽ ڪوانٽم ڪي ايڪسچينج ميڪانيزم آهي، جيڪو اڳ ۾ ڪائيبر جي نالي سان سڃاتو ويندو هو ۽ ان ۾ بيان ڪيو ويو هو ايف آءِ پي ايس 203.
نوان پيڪيجز crypto/hkdf، crypto/pbkdf2 ۽ crypto/sha3
نئون پيڪيج ڪرپٽو/ايڇ ڪي ڊي ايف HMAC تي ٻڌل "Extract-and-Expand" ڪي ڊيريويشن فنڪشن HKDF لاڳو ڪري ٿو جيئن بيان ڪيو ويو آهي آر ايف سي سي ايم ايس.
نئون پيڪيج ڪرپٽو/pbkdf2 پاسورڊ تي ٻڌل ڪي ڊيريويشن فنڪشن PBKDF2 لاڳو ڪري ٿو جيئن بيان ڪيو ويو آهي آر ايف سي سي ايم ايس.
نئون پيڪيج ڪرپٽو/sha3 SHA-3 هيش فنڪشن ۽ SHAKE ۽ cSHAKE ايڪسٽينسيبل آئوٽ پُٽ فنڪشن کي لاڳو ڪري ٿو جيئن بيان ڪيو ويو آهي ايف آءِ پي ايس 202.
سڀئي ٽيئي پيڪيج موجوده golang.org/x/crypto/… پيڪيجز تي ٻڌل آهن.
FIPS 140-3 جي تعميل
هن رليز ۾ شامل آهن FIPS 140-3 جي تعميل کي يقيني بڻائڻ لاءِ ميڪانيزم جو هڪ نئون سيٽ.
گو ڪرپٽو ماڊيول اندروني معياري لائبريري پيڪيجز جو هڪ سيٽ آهي جيڪو شفاف طور تي FIPS 140-3 منظور ٿيل الگورتھم کي لاڳو ڪرڻ لاءِ استعمال ڪيو ويندو آهي. منظور ٿيل الگورتھم لاءِ گو ڪرپٽو ماڊيول استعمال ڪرڻ لاءِ ايپليڪيشنن کي تبديلين جي ضرورت ناهي.
نئين ماحولياتي متغير GOFIPS140 کي بلڊ ۾ استعمال ڪرڻ لاءِ Go crypto ماڊيول جي ورجن کي چونڊڻ لاءِ استعمال ڪري سگهجي ٿو. نئون GODEBUG سيٽ اپ fips140 کي رن ٽائم تي FIPS 140-3 موڊ کي فعال ڪرڻ لاءِ استعمال ڪري سگھجي ٿو.
گو 1.24 ۾ گو ڪرپٽو ماڊيول v1.0.0 شامل آهي، جيڪو هن وقت CMVP-تصديق ٿيل ليب سان آزمايو پيو وڃي.
نئين تجرباتي پيڪيج جي جاچ/هم وقت سازي ٽيسٽ
نئون تجرباتي پيڪيج ٽيسٽنگ/سنڪ ٽيسٽ سمورو ڪوڊ جي جانچ لاءِ مدد فراهم ڪري ٿو.
- فعل سنڪ ٽيسٽ.رن هڪ الڳ ٿيل "بلبل" ۾ گوروٽين جو هڪ گروپ هلائي ٿو. پيڪيج فنڪشن جي بلبل ۾ وقت غلط گھڙيالن تي ڪم ڪريو.
- ڪارڪن synctest.wait ڪريو انتظار ڪريو جيستائين سڀئي گوروٽين موجوده بلبل ۾ بلاڪ نه ٿين.
تفصيل پيڪيج دستاويزن ۾ ملي سگهن ٿا.
سنڪ ٽيسٽ پيڪيج تجرباتي آهي ۽ ان کي GOEXPERIMENT=synctest سيٽ ڪندي فعال ڪيو وڃي. پيڪيج API مستقبل جي رليز ۾ تبديل ٿي سگھي ٿو. اندر #67434 توهان وڌيڪ تفصيل ڏسي سگهو ٿا ۽ موٽ ڏئي سگهو ٿا.
لائبريري ۾ معمولي تبديليون
کائي
آرڪائيو/زپ ۽ آرڪائيو/ٽار ۾ (*Writer.AddFS) لاڳو ڪرڻ هاڻي خالي ڊاريڪٽري لاءِ ڊاريڪٽري هيڊر لکندا آهن.
Bytes
پيڪ Bytes ڪيترائي ڪم شامل ڪري ٿو جيڪي آئٽرٽرز سان ڪم ڪن ٿا:
- سٽون بائيٽ سلائس ۾ نئين لائين کان الڳ ٿيل اسٽرنگ تي هڪ آئٽرٽر واپس ڪري ٿو.
- اسپلٽ سيڪ هڪ جدا ڪندڙ طرفان الڳ ڪيل بائيٽ سلائس جي سڀني سب سلائسن تي هڪ آئٽرٽر واپس ڪري ٿو.
- اسپلٽ آفٽر سيڪ بائيٽ سلائس جي سب سلائسن تي هڪ آئٽرٽر واپس ڪري ٿو، سيپريٽر جي هر واقعي کان پوءِ ورهايو ويندو آهي.
- فيلڊس سيڪ وضاحت ڪيل طور تي، خلائي ڪردارن جي تسلسل جي چوڌاري بائيٽ سلائس جي سب سلائسن تي هڪ آئٽرٽر واپس ڪري ٿو. يونيڪوڊ.آئس اسپيس
- فيلڊس فنڪ سيڪ يونيڪوڊ ڪوڊ پوائنٽس جي تسلسل جي چوڌاري بائيٽ سلائس جي سب سلائسن تي هڪ ايٽريٽر واپس ڪري ٿو جيڪو هڪ اڳڪٿي کي مطمئن ڪري ٿو.
ڪرپٽو/اي اي ايس
واپسي جي قيمت نئون چِپر هاڻي NewCTR، NewGCM، NewCBCEncrypter، ۽ NewCBCDecrypter طريقن کي لاڳو نٿو ڪري. اهي طريقا غير دستاويزي هئا ۽ سڀني آرڪيٽيڪچر تي دستياب نه هئا. هاڻي معنيٰ بلاڪ سڌو سنئون مناسب ڪمن ڏانهن منتقل ڪيو وڃي ڪرپٽو/سائفر. في الحال، crypto/cipher اڃا تائين بلاڪ ويليوز تي انهن طريقن کي چيڪ ڪري ٿو، جيتوڻيڪ اهي هاڻي معياري لائبريري پاران سپورٽ نه آهن.
ڪرپٽو/سائفر
نئين خاصيت نئون جي سي ايم بي ترتيب نانس سان واپسي اي اي ڊي، جيڪو سيل دوران هڪ بي ترتيب نانس پيدا ڪندي ۽ ان کي سائفر ٽيڪسٽ ۾ شامل ڪندي AES-GCM لاڳو ڪري ٿو.
عمل وهڪرو، واپس ڪيو ويو نئون سي ٽي آر جڏهن استعمال ڪيو وڃي ڪرپٽو/اي اي ايس هاڻي amd64 ۽ arm64 تي ڪيترائي ڀيرا تيز.
نئون او ايف بي, نئون CFBEncrypter и نئون سي ايف بي ڊيڪريپٽر هاڻي متروڪ قرار ڏنو ويو آهي. OFB ۽ CFB موڊ غير تصديق ٿيل آهن، جيڪي عام طور تي فعال حملن کي سادي متن کي هٿي وٺرائڻ ۽ بحال ڪرڻ جي اجازت ڏين ٿا. ايپليڪيشنن کي استعمال ڪرڻ جي صلاح ڏني وئي آهي اي اي ڊي بدلي ۾. جيڪڏهن غير تصديق ٿيل موڊ وهڪرو ضروري، استعمال ڪري سگهجي ٿو نئون سي ٽي آر بدلي ۾.
ڪرپٽو/اي سي ڊي ايس اي
پرائيويٽ ڪي. سائن هاڻي مطابق هڪ تعيناتي دستخط ٺاهي ٿو آر ايف سي سي ايم ايس، جيڪڏهن بي ترتيبي جو ذريعو صفر آهي.
ڪرپٽو/ايم ڊي 5
واپسي جي قيمت ايم ڊي 5. نئون، هاڻي انٽرفيس کي پڻ لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر.
ڪرپٽو/رينڊ
فعل پڙهڻ هاڻي ڪنهن به ناڪامي جي ضمانت نٿو ڏئي. جيڪڏهن پڙهڻ دوران ڪا غلطي سامهون اچي ٿي پڙهندڙ، پروگرام مستقل طور تي ختم ٿي ويندو. ياد رکو ته ڊفالٽ ريڊر هميشه ڪاميابي سان ڪم ڪرڻ لاءِ دستاويز ٿيل آهي، تنهن ڪري هي تبديلي صرف انهن پروگرامن کي متاثر ڪرڻ گهرجي جيڪي ريڊر متغير کي اوور رائيڊ ڪن ٿا. هڪ استثنا 3.17 کان اڳ لينڪس ڪرنل آهن، جتي ڊفالٽ ريڊر اڃا تائين /dev/urandom کوليندو آهي ۽ ناڪام ٿي سگهي ٿو.
لينڪس 6.11 ۽ بعد ۾، ريڊر هاڻي vDSO ذريعي getrandom سسٽم ڪال استعمال ڪري ٿو. هي ڪيترائي ڀيرا تيز آهي، عام طور تي ننڍي پڙهڻ لاءِ.
اوپن بي ايس ڊي ريڊر تي هاڻي arc4random_buf(3) استعمال ٿئي ٿو.
نئين خاصيت متن هاڻي ڪرپٽوگرافڪ طور تي محفوظ بي ترتيب ٽيڪسٽ اسٽرنگ ٺاهي سگھي ٿو.
ڪرپٽو/آر ايس اي
جنريٽ ڪي هاڻي جيڪڏهن 1024 بِٽس کان گهٽ جي ڪيئي جي ڊيگهه جي درخواست ڪئي وڃي ته غلطي واپس ڪندو. هاڻي سڀئي سائن، تصديق، انڪرپٽ، ۽ ڊيڪرپٽ طريقا 1024 بِٽس کان گهٽ ڪي سائيز سان استعمال ٿيڻ تي غلطي واپس ڪندا آهن. اهڙيون چاٻيون غير محفوظ آهن ۽ استعمال نه ڪرڻ گهرجن. GODEBUG قائم ڪرڻ rsa1024min=0 پراڻي رويي کي بحال ڪري ٿو، پر گو ڊولپرز اهو صرف ضروري هجڻ تي ۽ صرف ٽيسٽن ۾ ڪرڻ جي صلاح ڏين ٿا، مثال طور ٽيسٽ فائل ۾ //go:debug rsa1024min=0 لائن شامل ڪندي. نئون مثال GenerateKey هڪ استعمال ۾ آسان معياري 2024-بٽ ٽيسٽ ڪي فراهم ڪري ٿو.
هاڻي ڪال ڪرڻ وڌيڪ محفوظ ۽ ڪارآمد آهي پرائيويٽ ڪي. پري ڪمپيوٽ ڪرڻ پرائيويٽ ڪي. تصديق ڪريو. جزوي طور تي ڀريل جي موجودگي ۾ پري ڪمپيوٽ هاڻي تيز آهي اڳ-ڳڻپيوڪر قدر، مثال طور جڏهن JSON مان ڪي ڪڍڻ.
پيڪيج هاڻي وڌيڪ غلط ڪيز کي رد ڪري ٿو جيتوڻيڪ جڏهن Validate نه سڏيو ويندو آهي، ۽ جنريٽ ڪي هاڻي ٽٽل بي ترتيب ذريعن لاءِ نوان غلطيون واپس ڪري سگھن ٿا. ميدان پرائمري и اڳواٽ ڪمپيوٽيڊ اڏاوتون پرائيويٽ ڪي هاڻي استعمال ڪيا ويندا آهن ۽ تصديق ڪيا ويندا آهن جيتوڻيڪ ڪجهه قدر غائب آهن. هيٺ بيان ڪيل RSA ڪيز کي پارس ڪرڻ ۽ ڪڍڻ لاءِ crypto/x509 ۾ پڻ تبديليون آهن.
سائن پي ڪي سي ايس 1 وي 15 и تصديق ڪريوPKCS1v15 هاڻي SHA-512/224، SHA-512/256 ۽ SHA-3 کي سپورٽ ڪن ٿا.
جنريٽ ڪي هاڻي پرائيويٽ ايڪسپونٽ (يولر فنڪشن جي بدران ڪارمائيڪل فنڪشن) پيدا ڪرڻ لاءِ ٿورو مختلف طريقو استعمال ڪري ٿو. نادر ايپليڪيشنون جيڪي صرف پرائم نمبرن مان ٻاهرين طور تي ڪيز ٻيهر پيدا ڪن ٿيون، مختلف پر مطابقت رکندڙ نتيجا پيدا ڪري سگهن ٿيون.
سرڪاري ۽ خانگي ڪنجين تي آپريشن هاڻي wasm تي ٻه ڀيرا تيز آهن.
ڪرپٽو/شا*
- ڪرپٽو/sha1: واپسي جي قيمت sha1. نئون هاڻي انٽرفيس کي پڻ لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر.
- ڪرپٽو/sha256: قدر واپس ڪيا ويا sha256. نئون и ش256.نيو224 هاڻي انٽرفيس کي پڻ لاڳو ڪريو انڪوڊنگ.بائنري ايپينڊر.
- ڪرپٽو/sha512: قدر واپس ڪيا ويا sha512. نئون, ش512.نيو384, ش512.نيو512_224 и ش512.نيو512_256، هاڻي انٽرفيس کي پڻ لاڳو ڪريو انڪوڊنگ.بائنري ايپينڊر.
خفيه/لطائفي
نئين خاصيت ڊيٽا آزاد وقت سان استعمال ڪندڙ کي آرڪيٽيڪچر جي مخصوص خاصيتن سان هڪ فنڪشن کي هلائڻ جي اجازت ڏئي ٿو جيڪي يقيني بڻائين ٿا ته ڪجهه هدايتون ڊيٽا جي قيمت جي وقت جي لحاظ کان تبديل نه ٿيون ٿين. هي انهي ڳالهه کي يقيني بڻائڻ لاءِ استعمال ڪري سگهجي ٿو ته مسلسل وقت ۾ هلائڻ لاءِ لکيل ڪوڊ پروسيسر-سطح جي ڪمن پاران بهتر نه ڪيو ويو آهي ته جيئن اهو متغير وقت ۾ هلي. في الحال WithDataIndependentTiming arm64 تي PSTATE.DIT بٽ استعمال ڪري ٿو ۽ ٻين سڀني آرڪيٽيڪچر تي ڪجهه به نٿو ڪري. GODEBUG قائم ڪرڻ dataindependenttiming=1 پوري Go پروگرام لاءِ DIT موڊ کي فعال ڪري ٿو.
ٿڪل زور بائيٽس ان پٽ سان مڪمل طور تي اوورليپ ٿيڻ گهرجي يا بلڪل نه. اڳ ۾ رويي کي ٻي صورت ۾ غير بيان ڪيو ويو هو، جڏهن ته هاڻي XORBytes گھٻرائيندو.
crypto/tls
TLS سرور هاڻي انڪرپٽ ٿيل ڪلائنٽ هيلو (ECH) کي سپورٽ ڪري ٿو. هي خصوصيت فيلڊ ڀرڻ سان فعال ڪري سگهجي ٿي. ڪنفيگ. اينڪرپٽڊ ڪلائنٽ هيلو ڪيز.
هڪ نئون پوسٽ-ڪوانٽم ڪي ايڪسچينج ميڪانيزم X25519MLKEM768 هاڻي ڊفالٽ طور تي سپورٽ ۽ فعال ٿيل آهي جڏهن ڪنفيگ.ڪرو ترجيحات ڪا به ناهي. GODEBUG قائم ڪرڻ tlsmlkem=0 ڊفالٽ واپس ڪري ٿو.
تجرباتي X25519Kyber768Draft00 ڪي ايڪسچينج لاءِ سپورٽ ختم ڪئي وئي آهي.
ڪي ايڪسچينج آرڊر هاڻي مڪمل طور تي crypto/tls پيڪيج ذريعي سنڀاليو ويندو آهي. آرڊر ڪنفيگ.ڪرو ترجيحات هاڻي نظرانداز ڪيو ويو آهي ۽ مواد صرف اهو طئي ڪرڻ لاءِ استعمال ڪيو ويندو آهي ته جڏهن فيلڊ ڀريو ويندو آهي ته ڪهڙا اهم ايڪسچينج شامل ڪرڻا آهن.
نئون ميدان ڪلائنٽ هيلو انفو. ايڪسٽينشنز ڪلائنٽ هيلو پيغام ۾ حاصل ڪيل ايڪسٽينشن سڃاڻپ ڪندڙن جي فهرست ڏيکاري ٿو. هي TLS ڪلائنٽ جي فنگر پرنٽنگ لاءِ ڪارآمد ٿي سگهي ٿو.
ڪرپٽو/x509
GODEBUG قائم ڪرڻ x509sha1 هٽايو ويو آهي. تصديق. تصديق ڪريو هاڻي SHA-1 تي ٻڌل دستخطن جي حمايت نٿو ڪري.
او آئي ڊي هاڻي انٽرفيس لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر и انڪوڊنگ. ٽيڪسٽ ايپينڊر.
ڊفالٽ سرٽيفڪيٽ پاليسي فيلڊ کي تبديل ڪيو ويو آهي کان سرٽيفڪيٽ. پاليسي سڃاڻپ ڪندڙ تي سرٽيفڪيٽ. پاليسيون. سرٽيفڪيٽن کي پارس ڪرڻ وقت، ٻئي فيلڊ ڀرجي ويندا، پر سرٽيفڪيٽ پاليسي ٺاهڻ وقت، انهن کي Certificate.PolicyIdentifiers جي بدران Certificate.Policies فيلڊ مان ورتو ويندو. هي تبديلي واپس ڪري سگهجي ٿي. GODEBUG سيٽ اپ x509 استعمال جون پاليسيون = 0.
سرٽيفڪيٽ ٺاهيو هاڻي ٽيمپليٽ فيلڊ پاس ڪرڻ وقت RFC 5280 مطابق طريقو استعمال ڪندي هڪ سيريل نمبر ٺاهيندو. سرٽيفڪيٽ. سيريل نمبر ڪو به نه، ڪريش ٿيڻ جي بدران.
سرٽيفڪيٽ. تصديق ڪريو هاڻي RFC 5280 ۽ RFC 9618 ۾ بيان ڪيل پاليسي جي تصديق جي حمايت ڪري ٿو. نئون ميدان اختيارن جي تصديق ڪريو. سرٽيفڪيٽ پاليسيون پاليسين جي هڪ قابل قبول سيٽ تي مقرر ڪري سگهجي ٿو او آءِ ڊيز. صرف صحيح پاليسي گراف سان سرٽيفڪيٽ زنجير واپس ڪيا ويندا سرٽيفڪيٽ. تصديق ڪريو.
مارشل پي ڪي سي ايس 8 پرائيويٽ ڪي هاڻي هڪ غلط RSA ڪي حاصل ڪرڻ جي بدران هڪ غلطي واپس ڪري ٿو. (مارشل پي ڪي سي ايس 1 پرائيويٽ ڪي (ڪو به غلطي واپسي ناهي ۽ جڏهن غلط چاٻيون مهيا ڪيون وينديون آهن ته ان جو رويو غير متعين رهندو آهي.)
پارس پي ڪي سي ايس 1 پرائيويٽ ڪي и پارس پي ڪي سي ايس 8 پرائيويٽ ڪي هاڻي انڪوڊ ٿيل CRT قدرن کي استعمال ۽ تصديق ڪريو، تنهنڪري غلط RSA ڪيز کي رد ڪري سگهو ٿا جيڪي اڳ ۾ قبول ڪيون ويون هيون. استعمال GODEBUG سيٽنگون x509rsacrt=0 CRT قدرن جي ٻيهر ڳڻپ ڏانهن موٽندو آهي.
ڊيبگ/ايلف
پيڪ ڊيبگ/ايلف متحرڪ ELF (ايگزيڪيوٽيبل ۽ لنڪيبل فارميٽ) فائلن ۾ علامتي ورجن کي سنڀالڻ لاءِ سپورٽ شامل ڪري ٿو. نئون طريقو فائل. ڊائنامڪ ورزن ELF فائل ۾ بيان ڪيل متحرڪ نسخن جي هڪ فهرست واپس ڏئي ٿو. نئون طريقو فائل. ڊائنامڪ ورزن جي ضرورت آهي هن ELF فائل پاران گهربل متحرڪ نسخن جي هڪ فهرست واپس ڪري ٿو جيڪي ٻين ELF شين ۾ بيان ڪيل آهن. آخرڪار، نوان ميدان علامت. هاس ورزن и سمبل. ورزن انڊيڪس علامت جي نسخي کي ظاهر ڪريو.
انڪوڊنگ
ٻه نوان انٽرفيس ٽيڪسٽ ضميندڙ и بائنري اپيلڊر بائيٽ سلائس ۾ ڪنهن شئي جي ٽيڪسٽ يا بائنري نمائندگي شامل ڪرڻ لاءِ متعارف ڪرايا ويا هئا. اهي انٽرفيس ساڳي ڪارڪردگي فراهم ڪن ٿا جيئن ٽيڪسٽ مارشلر и بائنري مارشلر، پر هر ڀيري هڪ نئون سلائس مختص ڪرڻ بدران، اهي ڊيٽا سڌو سنئون هڪ موجوده سلائس ۾ شامل ڪن ٿا. اهي انٽرفيس هن وقت معياري لائبريري قسمن پاران لاڳو ڪيا ويا آهن جيڪي اڳ ۾ ئي TextMarshaler ۽/يا BinaryMarshaler لاڳو ڪن ٿا.
انڪوڊنگ/json
جڏهن تعمير ڪيو ويندو، جيڪڏهن ان جي قيمت صفر هجي ته structure فيلڊ ٽيگ ۾ نئين omitzero آپشن سان هڪ structure فيلڊ کي ختم ڪيو ويندو. جيڪڏهن فيلڊ جي قسم ۾ IsZero() bool طريقو آهي، ته اهو طئي ڪرڻ لاءِ استعمال ڪيو ويندو ته قدر صفر آهي يا نه. ٻي صورت ۾ قدر صفر هوندي جيڪڏهن اهو ان جي قسم لاءِ خالي قدر. جڏهن ارادو خالي قدرن کي ختم ڪرڻ هوندو آهي ته اومٽزيرو فيلڊ ٽيگ اومٽميپٽي کان وڌيڪ صاف ۽ گهٽ غلطي جو شڪار هوندو آهي. خاص طور تي، omitempty جي برعڪس، omitzero صفر کي ختم ڪري ٿو وقت. وقت قدر، جيڪو مسئلن جو هڪ عام ذريعو آهي.
جيڪڏهن ٻئي omitempty ۽ omitzero بيان ڪيا وڃن، ته فيلڊ کي ختم ڪيو ويندو جيڪڏهن قدر خالي يا صفر آهي (يا ٻئي).
غير مارشل ٽائيپ ايرر. فيلڊ هاڻي وڌيڪ تفصيلي غلطي پيغام مهيا ڪرڻ لاءِ بلٽ ان اسٽرڪچر شامل آهن.
وڃو/قسم
سڀئي go/types ڊيٽا اسٽرڪچر جيڪي طريقن جي جوڙن جي تسلسل کي ظاهر ڪن ٿا، جهڙوڪ Len() int ۽ At(int) T، هاڻي اهڙا طريقا پڻ آهن جيڪي iterators کي واپس ڪن ٿا، هن طرح آسان ڪوڊ جي اجازت ڏين ٿا:
پيرا ميٽرز := fn.Type.(*types.Signature).Params() لاءِ i := 0; i <پيرامس.لين(); i++ { استعمال ڪريو (پيرامس. ايٽ (آءِ)) }
هن تي:
پيراگراف لاءِ:= رينج fn.Signature().Params().Variables() { استعمال(پيرام) }
طريقا: انٽرفيس. ايمبيڊڊ ٽائپس انٽرفيس. واضح طريقا انٽرفيس. طريقا طريقو سيٽ. طريقا نالي وارو. طريقا دائرو. ٻار جوڙجڪ. فيلڊز ٽوپل. متغير قسم جي فهرست. قسم ٽائپ پيرام لسٽ. ٽائپ پيرامس يونين.شرطون
هيش/*
- هيش/ايڊلر 32: واپسي جي قيمت نئون، هاڻي انٽرفيس کي پڻ لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر
- هيش/سي آر سي 32: قدر واپس ڪيا ويا نئون и نئون آئي اي اي اي، هاڻي انٽرفيس کي پڻ لاڳو ڪريو انڪوڊنگ.بائنري ايپينڊر
- هيش/سي آر سي 64: واپسي جي قيمت نئون، هاڻي انٽرفيس کي پڻ لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر
- هيش/ايف اين وي: قدر واپس ڪيا ويا نيو32 نئون 32a نيو64 نئون 64a نيو128 и نئون 128a، هاڻي انٽرفيس کي پڻ لاڳو ڪريو انڪوڊنگ.بائنري ايپينڊر
- hash/maphash: نئين خاصيتون ڀيٽيندڙ и مقابلي وارو لکو ڪنهن به قدر جي هيش جو حساب ڪري سگھي ٿو جنهن جو مقابلو ڪري سگهجي ٿو. هي توهان کي ڪنهن به شيءِ کي هيش ڪرڻ جي اجازت ڏئي ٿو جيڪا گو ڊڪشنري ڪي جي طور تي استعمال ٿي سگهي ٿي.
لاگ/سلاگ
نئين رد ڪريو هينڊلر هڪ هينڊلر آهي جيڪو ڪڏهن به فعال نه ٿيندو آهي ۽ هميشه پنهنجي آئوٽ پُٽ کي رد ڪندو آهي.
سطح и ليول وار هاڻي انٽرفيس لاڳو ڪريو انڪوڊنگ. ٽيڪسٽ ايپينڊر.
رياضي/*
- رياضي/وڏو: سچل, Int и چوٿون هاڻي انٽرفيس لاڳو ڪريو انڪوڊنگ. ٽيڪسٽ ايپينڊر.
- رياضي/رينڊ: ختم ٿيل مٿين سطح جي فنڪشن ڪالون مهر هاڻي ڪو به اثر نه آهي. پراڻي رويي کي بحال ڪرڻ لاءِ، توهان استعمال ڪري سگهو ٿا GODEBUG سيٽ اپ رينڊ سيڊنوپ = 0. وڌيڪ تناظر ۾ آڇ 67273.
- رياضي/رينڊ/v2: ChaCha8 и PCG هاڻي انٽرفيس لاڳو ڪريو انڪوڊنگ.بائنري ايپينڊر.
جال
سن ڪنڊيگ هاڻي MPTCP کي ڊفالٽ طور تي انهن سسٽم تي استعمال ڪري ٿو جتي اهو سپورٽ ٿيل آهي (في الحال صرف لينڪس).
IP هاڻي انٽرفيس لاڳو ڪري ٿو انڪوڊنگ. ٽيڪسٽ ايپينڊر.
net/http
پابندي تبديل ٿي وئي آهي ٽرانسپورٽ درخواست جي جواب ۾ مليل 1xx معلوماتي جوابن تي. اڳي هي درخواست کي روڪيندو هو ۽ 5 1xx کان وڌيڪ جوابن حاصل ڪرڻ کان پوءِ غلطي واپس ڪندو هو. هي هاڻي صرف هڪ غلطي واپس ڪندو جيڪڏهن سڀني 1xx جوابن جو ڪل سائيز ترتيب جي سيٽنگ کان وڌيڪ هجي. ٽرانسپورٽ. ميڪس ريسپانس هيڊر بائيٽس.
انهي سان گڏ، جڏهن هڪ درخواست ۾ ٽريڪنگ ٿلهو هوندو آهي نيٽ/http/httptrace.ڪلائنٽ ٽريس.Got1xx جواب، هاڻي جوابن جي ڪل تعداد 1xx تي ڪا حد ناهي. Got1xxResponse ٿلهو درخواست کي روڪڻ لاءِ غلطي واپس ڪري سگهي ٿو.
ٽرانسپورٽ и سرور هاڻي هڪ HTTP2 فيلڊ آهي جيڪو HTTP/2 پروٽوڪول سيٽنگن جي ترتيب جي اجازت ڏئي ٿو.
نوان ميدان سرور. پروٽوڪول и ٽرانسپورٽ. پروٽوڪول سرور يا ڪلائنٽ ڪهڙا HTTP پروٽوڪول استعمال ڪري ٿو ان کي ترتيب ڏيڻ جو هڪ آسان طريقو مهيا ڪريو.
سرور ۽ ڪلائنٽ کي غير انڪرپٽ ٿيل HTTP/2 ڪنيڪشن کي سپورٽ ڪرڻ لاءِ ترتيب ڏئي سگهجي ٿو.
جڏهن سرور. پروٽوڪول UnencrypterHTTP2 تي مشتمل آهي، سرور غير انڪرپٽ ٿيل پورٽن تي HTTP/2 ڪنيڪشن قبول ڪندو. سرور ساڳئي پورٽ تي HTTP/1 ۽ غير انڪرپٽ ٿيل HTTP/2 ٻئي قبول ڪري سگھي ٿو.
جڏهن ٽرانسپورٽ. پروٽوڪول ان انڪرپٽ ٿيل HTTP2 تي مشتمل آهي ۽ HTTP1 تي مشتمل ناهي، ٽرانسپورٽ ايڊريس لاءِ ان انڪرپٽ ٿيل HTTP/2 استعمال ڪندو http://. جيڪڏهن ڪا ٽرانسپورٽ HTTP/1 ۽ غير انڪريپٽ ٿيل HTTP/2 ٻنهي کي استعمال ڪرڻ لاءِ ترتيب ڏنل آهي، ته اها HTTP/1 استعمال ڪندي.
غير انڪرپٽ ٿيل HTTP/2 لاءِ سپورٽ "HTTP/2 فارورڊ لرننگ سان" استعمال ڪري ٿي (RFC 9113، سيڪشن 3.3). ختم ٿيل هيڊر "اپ گريڊ: h2c" سپورٽ نه آهي.
نيٽ/نيٽپ
اضافو, ايڊر پورٽ и Prefix هاڻي انٽرفيس لاڳو ڪريو انڪوڊنگ.بائنري ايپينڊر и انڪوڊنگ. ٽيڪسٽ ايپينڊر.
نيٽ/يو آر ايل
URL جو هاڻي انٽرفيس کي پڻ لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر.
او ايس/استعمال ڪندڙ
ونڊوز تي موجوده هاڻي ونڊوز نانو سرور ۾ استعمال ڪري سگهجي ٿو. NetApi32 لائبريري مان ڪمن جي استعمال کان بچڻ لاءِ عملدرآمد کي اپڊيٽ ڪيو ويو آهي، جيڪو نانو سرور مان غائب آهي.
ونڊوز تي موجوده, ڏسندڙ и ڳولا جي سڃاڻپ هاڻي هيٺ ڏنل بلٽ ان يوزر سروس اڪائونٽس کي سپورٽ ڪري ٿو:
- اينٽي اختياريون سسٽم
- اين ٽي اختياري سروس
- اينٽي اختيار نيٽ ورڪ سروس
ونڊوز تي موجوده جڏهن موجوده استعمال ڪندڙ کي سست ڊومين سان ڳنڍيو ويو ته ان جي رفتار تمام گهڻي وڌي وئي، جيڪو ڪيترن ئي ڪارپوريٽ استعمال ڪندڙن لاءِ هڪ عام ڪيس آهي. نئين عملدرآمد جي ڪارڪردگي هاڻي ملي سيڪنڊن جي ترتيب ۾ آهي، پوئين عملدرآمد جي مقابلي ۾، جنهن کي مڪمل ٿيڻ ۾ ڪيترائي سيڪنڊ، حتي منٽ به لڳي سگهن ٿا.
ونڊوز تي موجوده هاڻي پروسيس مالڪ استعمال ڪندڙ کي واپس ڪري ٿو جڏهن موجوده موضوع ٻئي صارف جي نقل ڪري رهيو آهي. اڳ ۾ هي هڪ غلطي واپس ڪئي.
regexp
Regexp هاڻي انٽرفيس لاڳو ڪري ٿو انڪوڊنگ. ٽيڪسٽ اڊاپٽر.
رن ٽائيم
فعل گوروٽ هاڻي ختم ٿيل آهي. نون ماحول ۾، توهان کي "go" بائنري کي طئي ڪرڻ لاءِ سسٽم پاٿ استعمال ڪرڻ کي ترجيح ڏيڻ گهرجي، ۽ GOROOT کي طئي ڪرڻ لاءِ go env GOROOT استعمال ڪرڻ گهرجي.
تارون
پيڪ تارون آئٽرٽرز سان ڪم ڪرڻ لاءِ ڪيترائي ڪم شامل ڪري ٿو:
- سٽون هڪ اسٽرنگ ۾ نئين لائين کان الڳ ٿيل لائينن تي هڪ آئٽرٽر واپس ڪري ٿو.
- اسپلٽ سيڪ هڪ جدا ڪندڙ طرفان الڳ ڪيل اسٽرنگ جي سڀني سب اسٽرنگن تي هڪ آئٽرٽر واپس ڪري ٿو.
- اسپلٽ آفٽر سيڪ هڪ اسٽرنگ جي سب اسٽرنگ تي هڪ آئٽرٽر واپس ڪري ٿو، سيپريٽر جي هر واقعي کان پوءِ ورهايو ويندو آهي.
- فيلڊس سيڪ وائيٽ اسپيس اکرن جي تسلسل جي چوڌاري اسٽرنگ جي سب اسٽرنگ تي هڪ آئٽرٽر واپس ڪري ٿو، جيئن بيان ڪيو ويو آهييونيڪوڊ.آئس اسپيس
- فيلڊس فنڪ سيڪ يونيڪوڊ ڪوڊ پوائنٽس جي تسلسل جي چوڌاري اسٽرنگ جي سب اسٽرنگ تي هڪ آئٽرٽر واپس ڪري ٿو جيڪي هڪ اڳڪٿي کي پورو ڪن ٿا.
هم وقت
عمل هم وقت سازي جو نقشو ڪارڪردگي بهتر ڪرڻ لاءِ تبديل ڪيو ويو آهي، خاص طور تي لغت جي تبديلين لاءِ. مثال طور، وڏين ڊڪشنرين تي ڊس جوائنٽ سيٽ تبديلي جي تڪرار جو امڪان گهٽ هوندو آهي، ۽ ان کي هاڻي گهٽ تڪراري ڊڪشنري لوڊ حاصل ڪرڻ لاءِ تعمير وقت جي ضرورت ناهي.
جيڪڏهن توهان کي ڪا به پريشاني پيش اچي ٿي، ته پراڻي عمل درآمد ڏانهن واپس وڃڻ لاءِ تعمير دوران GOEXPERIMENT=nosynchashtriemap سيٽ ڪريو ۽ مهرباني ڪري مسئلي جو فارم ڀريو.
جاچ
نوان طريقا ٽي. حوالي سان и ب. حوالي سان ٽيسٽ مڪمل ٿيڻ کان پوءِ ۽ ٽيسٽ ڪلين اپ فنڪشن تي عمل ٿيڻ کان اڳ رد ٿيل هڪ حوالي کي واپس ڪريو.
نوان طريقا ٽي. چدير и بي.چڊر ٽيسٽ يا بينچ مارڪ جي مدت لاءِ ڪم ڪندڙ ڊاريڪٽري کي تبديل ڪرڻ لاءِ استعمال ڪري سگھجي ٿو.
ٽيڪسٽ/ٽيمپليٽ
ٽيمپليٽس هاڻي رينج-اوور-فنڪ ۽ رينج-اوور-انٽ کي سپورٽ ڪن ٿا.
وقت
وقت هاڻي انٽرفيس لاڳو ڪري ٿو انڪوڊنگ.بائنري ايپينڊر и انڪوڊنگ. ٽيڪسٽ ايپينڊر.
بندرگاهن
لينڪس
جيئن هو اعلان ڪيو گو 1.23 رليز نوٽس جي مطابق، گو 1.24 کي لينڪس ڪرنل ورجن 3.2 يا بعد جي ضرورت آهي.
ڊارون
گو 1.24 آخري رليز آهي جيڪا macOS 11 بگ سور تي هلندي. گو 1.25 لاءِ macOS 12 Monterey يا بعد جي ضرورت پوندي.
ويب ايزازي
go:wasmexport ڪمپائلر هدايت کي Go پروگرامن ۾ شامل ڪيو ويو آهي ته جيئن WebAssembly هوسٽ ڏانهن فنڪشن برآمد ڪري سگهجن.
WebAssembly سسٽم انٽرفيس پريويو 1 (GOOS=wasip1 GOARCH=wasm) ۾، Go 1.24 هڪ Go پروگرام ٺاهڻ جي حمايت ڪري ٿو جيئن ري ايڪٽر/لائبريري بلڊ فليگ -buildmode=c-shared بيان ڪندي.
هاڻي go:wasmimport فنڪشن لاءِ دليل يا نتيجي جي قسمن جي طور تي وڌيڪ قسمن جي اجازت آهي. خاص طور تي، bool، string، uintptr ۽ ڪجهه قسمن جي پوائنٽرن جي اجازت آهي (تفصيل ڏسو دستاويز)، 32-bit ۽ 64-bit انٽيجر ۽ فلوٽنگ پوائنٽ قسمن سان گڏ، ۽ unsafe.Pointer، جيڪي اڳ ۾ ئي اجازت ڏنل آهن. انهن قسمن کي go:wasmexport افعال لاءِ دليل يا نتيجي جي قسمن جي طور تي پڻ اجازت آهي.
WebAssembly لاءِ سپورٽ فائلون misc/wasm کان lib/wasm ڏانهن منتقل ڪيون ويون آهن.
شروعاتي ياداشت جي نشان کي خاص طور تي گهٽايو ويو آهي، خاص طور تي ننڍين ويب اسيمبلي ايپليڪيشنن لاءِ.
ونڊوز
32-بٽ ونڊوز/آرم پورٽ (GOOS=windows GOARCH=آرم) کي ٽٽل طور نشان لڳايو ويو آهي. تفصيل ۾ #70705
جو ذريعو: linux.org.ru
