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

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

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

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

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

  • உட்பொதிவு தொகுப்பு சேர்க்கப்பட்டுள்ளது, இது நிரலில் தன்னிச்சையான கோப்புகள் மற்றும் கோப்பகங்களை உட்பொதிப்பதற்கான கருவிகளை வழங்குகிறது. தொகுக்கும் நேரத்தில் உட்பொதிக்கப்பட வேண்டிய கோப்புகளைக் குறிப்பிட புதிய "//go:embed" உத்தரவு வழங்கப்படுகிறது. எடுத்துக்காட்டாக, குறியீட்டில் "//go:embed test.txt" என்ற கருத்தைக் குறிப்பிட்டு, "var f embed.FS" என்ற மாறியை ஒரு பின்தொடர்வாக அறிவிப்பது test.txt கோப்பு உட்பொதிக்கப்படுவதற்கும் சாத்தியம் "f" விளக்கத்தின் மூலம் அதை அணுகுகிறது. இதேபோல், வேலைக்குத் தேவையான ஒரு குறிப்பிட்ட வகையின் ஆதாரங்கள் அல்லது தனிப்பட்ட மதிப்புகளைக் கொண்ட கோப்புகளை நீங்கள் உட்பொதிக்கலாம், எடுத்துக்காட்டாக, version.txt கோப்பிலிருந்து சரம் மாறி "s" ஐப் பெற, நீங்கள் குறிப்பிடலாம்: import _ "embed" // go:embed version.txt var s சரம் அச்சு (கள்)
  • இயல்புநிலைக்கு இப்போது GOPATH-அடிப்படையிலான சார்பு நிர்வாகத்தை மாற்றியமைக்கும் ஒருங்கிணைக்கப்பட்ட பதிப்பு ஆதரவுடன் புதிய தொகுதி அமைப்பைப் பயன்படுத்த வேண்டும். GO111MODULE சூழல் மாறி இப்போது முன்னிருப்பாக "ஆன்" ஆக அமைக்கப்பட்டுள்ளது, மேலும் பணிபுரியும் அல்லது பெற்றோர் கோப்பகத்தில் go.mod கோப்பு இருந்தபோதிலும் தொகுதிகள் பயன்முறை பயன்படுத்தப்படுகிறது. புதிய பயன்முறையில், "go build" மற்றும் "go test" போன்ற உருவாக்க கட்டளைகள் go.mod மற்றும் go.sum இன் உள்ளடக்கங்களை மாற்றாது, அதே நேரத்தில் "go install" பதிப்பு-குறிப்பிட்ட வாதங்களைச் செயலாக்குகிறது ("go install example.com/[மின்னஞ்சல் பாதுகாக்கப்பட்டது]"). பழைய நடத்தை திரும்ப, GO111MODULE ஐ "தானியங்கு" ஆக மாற்றவும். 96% டெவலப்பர்கள் ஏற்கனவே புதிய தொகுதி அமைப்புக்கு மாறிவிட்டனர் என்பது குறிப்பிடத்தக்கது.
  • இணைப்பான் மேம்படுத்தப்பட்டது. பெரிய திட்டங்களுக்கு, இணைப்பு இப்போது 20-25% வேகமானது மற்றும் 5-15% குறைவான நினைவகம் தேவைப்படுகிறது.
  • கம்பைலர் இன்லைன் செயல்பாடு விரிவாக்கத்திற்கான ஆதரவைச் சேர்க்கிறது, 'for' சுழல்கள், முறை மதிப்புகள் மற்றும் 'வகை சுவிட்ச்' கட்டமைப்பின் சுருக்கமான வரையறையுடன்.
  • புதிய Apple M1 ARM சிப் பொருத்தப்பட்ட ஆப்பிள் அமைப்புகளுக்கான ஆதரவு சேர்க்கப்பட்டது. 64-பிட் ARM இல் NetBSD மற்றும் MIPS64 கணினிகளில் OpenBSDக்கான ஆதரவுடன் netbsd/arm64 மற்றும் openbsd/mips64 போர்ட்கள் சேர்க்கப்பட்டது. cgo மற்றும் "-buildmode=pie" பயன்முறைக்கான ஆதரவு linux/riscv64 போர்ட்டில் சேர்க்கப்பட்டுள்ளது.
  • x87 தொகுப்பு முறைக்கான ஆதரவு கைவிடப்பட்டது (GO386=387). SSE2 வழிமுறைகள் இல்லாத செயலிகளுக்கான ஆதரவு இப்போது "GO386=softfloat" நிரல் முறையில் கிடைக்கிறது.

கூடுதலாக, டார்ட் 2.12 மொழியின் பீட்டா வெளியீட்டை சோதிக்கும் தொடக்கத்தை நாம் கவனிக்கலாம், இதில் பூஜ்ய பாதுகாப்பு பயன்முறை நிலைப்படுத்தப்பட்டுள்ளது, இது மதிப்பு வரையறுக்கப்படாத மற்றும் பூஜ்யமாக அமைக்கப்படும் மாறிகளைப் பயன்படுத்துவதற்கான முயற்சிகளால் ஏற்படும் செயலிழப்புகளைத் தவிர்க்கும். மாறிகள் வெளிப்படையாக பூஜ்யமாக அமைக்கப்படாவிட்டால், அவை வரையறுக்கப்படாத மதிப்புகளைக் கொண்டிருக்க முடியாது என்பதை பயன்முறை குறிக்கிறது. பயன்முறையானது மாறிகளின் வகைகளை கண்டிப்பாக கணக்கில் எடுத்துக்கொள்கிறது, இது கம்பைலரை கூடுதல் மேம்படுத்தல்களைப் பயன்படுத்த அனுமதிக்கிறது. தொகுக்கும் நேரத்தில் வகைப் பொருத்தம் சரிபார்க்கப்படுகிறது, எடுத்துக்காட்டாக, "int" போன்ற நிச்சயமற்ற நிலையைக் குறிக்காத வகையைக் கொண்ட மாறிக்கு "Null" மதிப்பை ஒதுக்க முயற்சித்தால், ஒரு பிழை காட்டப்படும்.

ஆதாரம்: opennet.ru

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