Go நிரலாக்க மொழியின் வெளியீடு 1.18

நிரலாக்க மொழியான Go 1.18 இன் வெளியீடு வழங்கப்படுகிறது, இது தொகுக்கப்பட்ட மொழிகளின் உயர் செயல்திறனை ஒருங்கிணைக்கும் ஒரு கலப்பின தீர்வாக சமூகத்தின் பங்கேற்புடன் கூகிள் உருவாக்குகிறது. எழுத்து குறியீடு, விரைவான வளர்ச்சி மற்றும் பிழை பாதுகாப்பு. திட்டக் குறியீடு BSD உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

கோவின் தொடரியல் சி மொழியின் பழக்கமான கூறுகளை அடிப்படையாகக் கொண்டது, பைதான் மொழியிலிருந்து சில கடன்களைப் பெற்றுள்ளது. மொழி மிகவும் சுருக்கமானது, ஆனால் குறியீடு படிக்கவும் புரிந்துகொள்ளவும் எளிதானது. கோ குறியீடு தனித்தனி பைனரி இயங்கக்கூடிய கோப்புகளாக தொகுக்கப்படுகிறது, அவை மெய்நிகர் இயந்திரத்தைப் பயன்படுத்தாமல் சொந்தமாக இயங்குகின்றன (சுயவிவரம், பிழைத்திருத்தம் மற்றும் பிற இயக்க நேர சிக்கல் கண்டறிதல் துணை அமைப்புகள் இயக்க நேர கூறுகளாக ஒருங்கிணைக்கப்படுகின்றன), இது C நிரல்களுடன் ஒப்பிடக்கூடிய செயல்திறனை அடைய அனுமதிக்கிறது.

மல்டி-த்ரெட்டு புரோகிராமிங் மற்றும் மல்டி-கோர் சிஸ்டங்களில் திறமையான செயல்பாட்டைக் கருத்தில் கொண்டு இந்தத் திட்டம் ஆரம்பத்தில் உருவாக்கப்பட்டது, இதில் இணையான கணினி மற்றும் இணையாக செயல்படுத்தப்படும் முறைகளுக்கு இடையேயான தொடர்புகளை ஒழுங்கமைப்பதற்கு ஆபரேட்டர் மட்டத்தில் செயல்படுத்தப்படும் வழிமுறைகளை வழங்குகிறது. மொழி ஒதுக்கப்பட்ட நினைவகத் தொகுதிகளுக்கு எதிராக உள்ளமைக்கப்பட்ட பாதுகாப்பை வழங்குகிறது மற்றும் குப்பை சேகரிப்பாளரைப் பயன்படுத்துவதற்கான திறனை வழங்குகிறது.

புதிய பதிப்பு பொதுவான செயல்பாடுகள் மற்றும் வகைகளுக்கு (ஜெனரிக்ஸ்) ஆதரவைச் சேர்க்கிறது, இதன் உதவியுடன் டெவலப்பர் பல வகைகளுடன் ஒரே நேரத்தில் வேலை செய்ய வடிவமைக்கப்பட்ட செயல்பாடுகளை வரையறுத்து பயன்படுத்த முடியும். பல தரவு வகைகளை உள்ளடக்கிய ஒருங்கிணைந்த வகைகளை உருவாக்க இடைமுகங்களைப் பயன்படுத்துவதும் சாத்தியமாகும். தற்போதுள்ள குறியீட்டுடன் பின்தங்கிய இணக்கத்தன்மையை உடைக்காமல் ஜெனரிக்ஸிற்கான ஆதரவு செயல்படுத்தப்படுகிறது. // தொகை தொகுப்பு மதிப்புகள், int64 மற்றும் float64 வகைகளுக்கான வேலைகள் func SumIntsOrFloats[K ஒப்பிடத்தக்கது, V int64 | float64](m map[K]V) V {var s V for _, v := range m { s += v } return s } // பொதுவான வகை வரையறையுடன் மற்றொரு விருப்பம்: வகை எண் இடைமுகம் { int64 | float64 } func SumNumbers[K ஒப்பிடத்தக்கது, V எண்](m வரைபடம்[K]V) V {var s V for _, v:= range m {s += v } return s }

மற்ற மேம்பாடுகள்:

  • குழப்பமான குறியீடு சோதனைக்கான பயன்பாடுகள் நிலையான கருவித்தொகுப்பில் ஒருங்கிணைக்கப்பட்டுள்ளன. தெளிவற்ற சோதனையின் போது, ​​உள்ளீட்டுத் தரவின் சாத்தியமான அனைத்து சீரற்ற சேர்க்கைகளின் ஸ்ட்ரீம் உருவாக்கப்படுகிறது மற்றும் அவற்றின் செயலாக்கத்தின் போது சாத்தியமான தோல்விகள் பதிவு செய்யப்படுகின்றன. ஒரு வரிசை செயலிழந்தால் அல்லது எதிர்பார்த்த பதிலுடன் பொருந்தவில்லை என்றால், இந்த நடத்தை பிழை அல்லது பாதிப்பைக் குறிக்கும்.
  • மல்டி-மாடுலர் பணியிடங்களுக்கான ஆதரவு சேர்க்கப்பட்டது, ஒரே நேரத்தில் பல தொகுதிக்கூறுகளில் கட்டளைகளை இயக்க உங்களை அனுமதிக்கிறது, ஒரே நேரத்தில் பல தொகுதிகளில் குறியீட்டை உருவாக்கவும் இயக்கவும் உங்களை அனுமதிக்கிறது.
  • Apple M1, ARM64 மற்றும் PowerPC64 செயலிகளை அடிப்படையாகக் கொண்ட கணினிகளுக்கு குறிப்பிடத்தக்க செயல்திறன் மேம்படுத்தல்கள் செய்யப்பட்டுள்ளன. செயல்பாடுகளுக்கு வாதங்களை அனுப்புவதற்கும் முடிவைத் தருவதற்கும் அடுக்கிற்குப் பதிலாக பதிவேடுகளைப் பயன்படுத்தும் திறனை இயக்கியது. கம்பைலர் மூலம் லூப்களின் இன்லைன் அன்ரோலிங் மேம்படுத்தப்பட்டது. கம்பைலரில் உள்ள வகை சரிபார்ப்பு முற்றிலும் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது. சில சோதனைகள் முந்தைய வெளியீட்டைக் காட்டிலும் குறியீடு செயல்திறனில் 20% அதிகரிப்பைக் காட்டுகின்றன, ஆனால் தொகுப்பே 15% அதிக நேரம் எடுக்கும்.
  • இயக்க நேரத்தில், இயக்க முறைமைக்கு விடுவிக்கப்பட்ட நினைவகத்தை திரும்பப் பெறுவதற்கான செயல்திறன் அதிகரிக்கப்பட்டுள்ளது மற்றும் குப்பை சேகரிப்பாளரின் செயல்பாடு மேம்படுத்தப்பட்டுள்ளது, அதன் நடத்தை மிகவும் யூகிக்கக்கூடியதாக மாறியுள்ளது.
  • புதிய தொகுப்புகள் net/netip மற்றும் debug/buildinfo ஆகியவை நிலையான நூலகத்தில் சேர்க்கப்பட்டுள்ளன. கிளையன்ட் குறியீட்டில் டிஎல்எஸ் 1.0 மற்றும் 1.1 க்கான ஆதரவு இயல்பாகவே முடக்கப்பட்டுள்ளது. கிரிப்டோ/x509 தொகுதி SHA-1 ஹாஷைப் பயன்படுத்தி கையொப்பமிடப்பட்ட சான்றிதழ்களைச் செயலாக்குவதை நிறுத்திவிட்டது.
  • லினக்ஸில் சுற்றுச்சூழலுக்கான தேவைகள் எழுப்பப்பட்டுள்ளன; வேலை செய்ய, நீங்கள் இப்போது குறைந்தபட்சம் 2.6.32 பதிப்பு லினக்ஸ் கர்னலை வைத்திருக்க வேண்டும். அடுத்த வெளியீட்டில், FreeBSD க்கும் இதே போன்ற மாற்றங்கள் எதிர்பார்க்கப்படுகின்றன (FreeBSD 11.x கிளைக்கான ஆதரவு நிறுத்தப்படும்) மற்றும் குறைந்தபட்சம் FreeBSD 12.2 வேலை செய்ய வேண்டும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்