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

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

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

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

முக்கிய புதுமைகள்Go 1.13 வெளியீட்டில் அறிமுகப்படுத்தப்பட்டது:

  • கிரிப்டோ/டிஎல்எஸ் தொகுப்பில் முன்னிருப்பாக நெறிமுறை ஆதரவு இயக்கப்பட்டுள்ளது TLS 1.3. Ed25519 டிஜிட்டல் கையொப்பங்களுக்கான ஆதரவுடன் "crypto/ed25519" என்ற புதிய தொகுப்பு சேர்க்கப்பட்டது;
  • பைனரி எண்கள் (எ.கா. 0b101), ஆக்டல் (0o377), கற்பனை (2.71828i) மற்றும் ஹெக்ஸாடெசிமல் ஃப்ளோட்டிங் பாயிண்ட் (0x1p-1021) ஆகியவற்றை வரையறுக்க புதிய எண் எழுத்து முன்னொட்டுகளுக்கான ஆதரவு சேர்க்கப்பட்டது, மேலும் இலக்கங்களை பார்வைக்கு பிரிக்க "_" எழுத்தைப் பயன்படுத்தும் திறன். பெரிய எண்ணிக்கையில் (1_000_000);
  • "‹‹" மற்றும் "››" ஆபரேட்டர்களைப் பயன்படுத்துவதற்கு முன்பு uint வகைக்கு தேவையற்ற மாற்றங்களைத் தவிர்க்கும் ஷிப்ட் செயல்பாடுகளில் கையொப்பமிடப்படாத கவுண்டர்களை மட்டுமே பயன்படுத்துவதற்கான கட்டுப்பாடு நீக்கப்பட்டது;
  • Illumos இயங்குதளத்திற்கான ஆதரவு சேர்க்கப்பட்டது (GOOS=illumos). ஆண்ட்ராய்டு 10 இயங்குதளத்துடன் இணக்கத்தன்மை உறுதி செய்யப்பட்டுள்ளது. FreeBSD (11.2) மற்றும் macOS (10.11 “El Capitan”) இன் குறைந்தபட்ச பதிப்புகளுக்கான தேவைகள் அதிகரிக்கப்பட்டுள்ளன.
  • GOPATH க்கு மாற்றாகப் பயன்படுத்தக்கூடிய புதிய தொகுதி அமைப்பின் தொடர்ச்சியான வளர்ச்சி. Go 1.13 இல் முன்னர் அறிவிக்கப்பட்ட திட்டங்களுக்கு மாறாக, இந்த அமைப்பு முன்னிருப்பாக இயக்கப்படவில்லை மற்றும் GO111MODULE=on variable அல்லது தொகுதிகள் தானாகப் பயன்படுத்தப்படும் சூழலின் மூலம் செயல்படுத்தப்பட வேண்டும். புதிய தொகுதி அமைப்பு ஒருங்கிணைந்த பதிப்பு ஆதரவு, தொகுப்பு விநியோக திறன்கள் மற்றும் மேம்படுத்தப்பட்ட சார்பு மேலாண்மை ஆகியவற்றைக் கொண்டுள்ளது. தொகுதிகள் மூலம், டெவலப்பர்கள் இனி GOPATH மரத்தில் வேலை செய்வதோடு இணைக்கப்படவில்லை, பதிப்பு சார்ந்த சார்புகளை வெளிப்படையாக வரையறுக்கலாம் மற்றும் மீண்டும் மீண்டும் உருவாக்கக்கூடிய உருவாக்கங்களை உருவாக்கலாம்.

    முந்தைய வெளியீடுகளைப் போலல்லாமல், புதிய கணினியின் தானியங்கி பயன்பாடு, தற்போது செயல்படும் கோப்பகத்தில் go.mod கோப்பு இருக்கும் போது அல்லது go கட்டளையை இயக்கும் போது, ​​அது GOPATH/src கோப்பகத்தில் இருக்கும் போது, ​​அதுவும். புதிய சூழல் மாறிகள் சேர்க்கப்பட்டுள்ளன: பொதுவில் அணுகக்கூடிய தொகுதிகளின் பாதைகளை வரையறுக்கும் GOPRIVATE மற்றும் go.sum கோப்பில் பட்டியலிடப்படாத தொகுதிகளுக்கான செக்சம் தரவுத்தளத்திற்கான அணுகல் அளவுருக்களைக் குறிப்பிடும் GOSUMDB;

  • முன்னிருப்பாக "go" கட்டளையானது மாட்யூல்களை ஏற்றுகிறது மற்றும் கூகுள் (proxy.golang.org, sum.golang.org மற்றும் index.golang.org) மூலம் பராமரிக்கப்படும் தொகுதி கண்ணாடி மற்றும் செக்சம் தரவுத்தளத்தைப் பயன்படுத்தி அவற்றின் ஒருமைப்பாட்டை சரிபார்க்கிறது;
  • பைனரி தொகுப்புகளுக்கான ஆதரவு மட்டும் நிறுத்தப்பட்டது; "//go:binary-only-package" பயன்முறையில் தொகுப்பை உருவாக்குவது இப்போது பிழையை விளைவிக்கிறது;
  • "go get" கட்டளைக்கு "@patch" பின்னொட்டுக்கான ஆதரவு சேர்க்கப்பட்டது, இது தொகுதி சமீபத்திய பராமரிப்பு வெளியீட்டிற்கு புதுப்பிக்கப்பட வேண்டும் என்பதைக் குறிக்கிறது, ஆனால் தற்போதைய பெரிய அல்லது சிறிய பதிப்பை மாற்றாமல்;
  • மூலக் கட்டுப்பாட்டு அமைப்புகளிலிருந்து தொகுதிகளை மீட்டெடுக்கும் போது, ​​"go" கட்டளை இப்போது பதிப்பு சரத்தில் கூடுதல் சரிபார்ப்பைச் செய்கிறது, போலி-பதிப்பு எண்களை களஞ்சியத்திலிருந்து மெட்டாடேட்டாவுடன் பொருத்த முயற்சிக்கிறது;
  • ஆதரவு சேர்க்கப்பட்டது பிழை ஆய்வு (எரர் ரேப்பிங்) ரேப்பர்களை உருவாக்குவதன் மூலம் நிலையான பிழை கையாளுபவர்களைப் பயன்படுத்த அனுமதிக்கிறது. உதாரணத்திற்கு, ஒரு தவறு ஒரு முறையை வழங்குவதன் மூலம் "e" பிழையை "w" சுற்றிலும் சுற்றலாம் அவிழ்த்து விடு, திரும்பும் "w". "e" மற்றும் "w" ஆகிய இரண்டு பிழைகளும் நிரலில் உள்ளன, மேலும் முடிவுகள் "w" பிழையின் அடிப்படையில் எடுக்கப்படுகின்றன, ஆனால் "e" ஆனது "w" க்கு கூடுதல் சூழலை வழங்குகிறது அல்லது அதை வேறு விதமாக விளக்குகிறது;
  • இயக்க நேர கூறுகளின் செயல்திறன் மேம்படுத்தப்பட்டது (30% வரை வேக அதிகரிப்பு குறிப்பிடப்பட்டுள்ளது) மற்றும் இயக்க முறைமைக்கு நினைவகத்தின் மிகவும் தீவிரமான திரும்புதல் செயல்படுத்தப்பட்டது (முன்பு, ஐந்து அல்லது அதற்கு மேற்பட்ட நிமிடங்களுக்குப் பிறகு நினைவகம் திரும்பியது, ஆனால் இப்போது உடனடியாக குவியல் அளவைக் குறைத்த பிறகு).

ஆதாரம்: opennet.ru

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