Go ක්‍රමලේඛන භාෂාව නිකුත් කිරීම 1.18

Go 1.18 ක්‍රමලේඛන භාෂාව නිකුතුව ඉදිරිපත් කර ඇති අතර, එය Google විසින් ප්‍රජාවගේ සහභාගීත්වයෙන් සංවර්ධනය කරන ලද දෙමුහුන් විසඳුමක් ලෙස සම්පාදනය කරන ලද භාෂාවල ඉහළ කාර්ය සාධනය සහ කේත ලිවීමේ පහසුව ලෙස භාෂා ස්ක්‍රිප්ට් කිරීමේ වාසි සමඟ ඒකාබද්ධ කරයි. , සංවර්ධනයේ වේගය සහ දෝෂ ආරක්ෂා කිරීම. ව්යාපෘති කේතය BSD බලපත්රය යටතේ බෙදා හරිනු ලැබේ.

Go හි වාක්‍ය ඛණ්ඩය පදනම් වී ඇත්තේ පයිතන් භාෂාවෙන් සමහර ණය ගැනීම් සමඟ C භාෂාවේ හුරුපුරුදු මූලද්‍රව්‍ය මත ය. භාෂාව තරමක් සංක්ෂිප්ත ය, නමුත් කේතය කියවා තේරුම් ගැනීමට පහසුය. Go කේතය අථත්‍ය යන්ත්‍රයක් භාවිතා නොකර ස්වදේශීයව ක්‍රියාත්මක වන Stand-alone binary executable files වෙත සම්පාදනය කර ඇත (profiling, debugging modules, සහ අනෙකුත් ධාවන කාල ගැටළු හඳුනාගැනීමේ උපපද්ධති ධාවන කාල සංරචක ලෙස ඒකාබද්ධ කර ඇත), එමඟින් C වැඩසටහන් සමඟ සැසඳිය හැකි කාර්ය සාධනය සඳහා ඉඩ ලබා දේ.

ව්‍යාපෘතිය මුලින් සංවර්ධනය කර ඇත්තේ බහු-නූල් ක්‍රමලේඛනය සහ බහු-මූලික පද්ධති මත කාර්යක්ෂමව ක්‍රියාත්මක කිරීම සඳහා වන අතර, සමාන්තර පරිගණකකරණය සහ සමාන්තර-ක්‍රියාත්මක කරන ලද ක්‍රම අතර අන්තර්ක්‍රියා සංවිධානය කිරීම සඳහා ක්‍රියාකරු මට්ටමේ මාධ්‍යයන් සැපයීම ඇතුළුව. භාෂාව වැඩිපුර වෙන් කරන ලද මතක කොටස් වලට එරෙහිව ගොඩනඟන ලද ආරක්ෂාවක් සපයන අතර කසළ එකතු කරන්නෙකු භාවිතා කිරීමේ හැකියාව ද සපයයි.

නව අනුවාදය සාමාන්‍ය ශ්‍රිත සහ වර්ග (ජනක) සඳහා සහය එක් කරයි, එමඟින් සංවර්ධකයෙකුට එකවර වර්ග කිහිපයක් සමඟ වැඩ කිරීමට සැලසුම් කර ඇති කාර්යයන් නිර්වචනය කර භාවිතා කළ හැකිය. බහුවිධ දත්ත වර්ග විහිදී ඇති ඒකාබද්ධ වර්ග නිර්මාණය කිරීමට අතුරුමුහුණත් භාවිතා කිරීමටද හැකිය. පවතින කේතය සමඟ පසුගාමී අනුකූලතාව බිඳ දැමීමකින් තොරව Generics සඳහා සහය ක්රියාත්මක වේ. // එකතු කළ අගයන්, int64 සහ float64 වර්ග සඳහා ක්‍රියා කරයි func SumIntsOrFloats[K සංසන්දනාත්මක, V int64 | float64](m map[K]V) V {var s V for _, v := පරාසය m { s += v } return s } // සාමාන්‍ය ආකාරයේ අර්ථ දැක්වීමක් සහිත තවත් විකල්පයක්: අංක අතුරුමුහුණත වර්ගය { int64 | float64 } func SumNumbers[K සැසඳිය හැකි, V අංකය](m සිතියම[K]V) V {var s V for _, v:= පරාසය m { s += v } return s }

වෙනත් වැඩිදියුණු කිරීම්:

  • අපැහැදිලි කේත පරීක්ෂාව සඳහා උපයෝගිතා සම්මත මෙවලම් කට්ටලයට ඒකාබද්ධ කර ඇත. නොපැහැදිලි පරීක්ෂණ අතරතුර, ආදාන දත්තවල ඇති විය හැකි සියලුම අහඹු සංයෝජනවල ප්‍රවාහයක් ජනනය වන අතර ඒවා සැකසීමේදී සිදුවිය හැකි අසාර්ථකත්වයන් වාර්තා වේ. අනුපිළිවෙලක් කඩා වැටුනහොත් හෝ අපේක්ෂිත ප්‍රතිචාරයට නොගැලපේ නම්, මෙම හැසිරීම දෝෂයක් හෝ අවදානමක් පෙන්නුම් කිරීමට බොහෝ දුරට ඉඩ ඇත.
  • බහු-මොඩියුලර් වැඩබිම් සඳහා සහය එක් කරන ලද අතර, ඔබට එකවර බහු මොඩියුල මත විධාන ක්‍රියාත්මක කිරීමට ඉඩ සලසයි, ඔබට එකවර බහු මොඩියුලවල කේතය ගොඩනැගීමට සහ ධාවනය කිරීමට ඉඩ සලසයි.
  • Apple M1, ARM64 සහ PowerPC64 ප්‍රොසෙසර මත පදනම් වූ පද්ධති සඳහා සැලකිය යුතු කාර්ය සාධන ප්‍රශස්තිකරණයන් සිදු කර ඇත. ශ්‍රිතවලට තර්ක යැවීමට සහ ප්‍රතිඵලය ලබා දීමට තොගය වෙනුවට රෙජිස්ටර් භාවිතා කිරීමේ හැකියාව සබල කර ඇත. සම්පාදකය මඟින් ලූපවල පේළිගත කිරීම වැඩිදියුණු කිරීම. සම්පාදකයේ ටයිප් පරීක්ෂා කිරීම සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කර ඇත. සමහර පරීක්ෂණ පෙර නිකුතුවට සාපේක්ෂව කේත කාර්ය සාධනයේ 20% වැඩි වීමක් පෙන්නුම් කරයි, නමුත් සම්පාදනය කිරීම සඳහාම 15% පමණ වැඩි කාලයක් ගතවේ.
  • ධාවන කාලය තුළ, මෙහෙයුම් පද්ධතිය වෙත නිදහස් මතකය නැවත ලබා දීමේ කාර්යක්ෂමතාව වැඩි කර ඇති අතර, කසළ එකතු කරන්නාගේ ක්රියාකාරිත්වය වැඩිදියුණු කර ඇති අතර, හැසිරීම වඩාත් පුරෝකථනය කර ඇත.
  • නව පැකේජ net/netip සහ debug/buildinfo සම්මත පුස්තකාලයට එක් කර ඇත. සේවාලාභී කේතයේ පෙරනිමියෙන් TLS 1.0 සහ 1.1 සඳහා සහය අබල කර ඇත. Crypto/x509 මොඩියුලය SHA-1 හැෂ් භාවිතයෙන් අත්සන් කළ සහතික සැකසීම නතර කර ඇත.
  • Linux හි පරිසරය සඳහා අවශ්‍යතා මතු කර ඇත, ඔබට දැන් අවම වශයෙන් 2.6.32 අනුවාදයේ Linux කර්නලයක් තිබිය යුතුය. මීළඟ නිකුතුවේදී, FreeBSD සඳහා සමාන වෙනස්කම් අපේක්ෂා කෙරේ (FreeBSD 11.x ශාඛාව සඳහා සහය නවත්වනු ඇත) සහ අවම වශයෙන් FreeBSD 12.2 වැඩ කිරීමට අවශ්‍ය වේ.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න