சமீபத்தில் "Go 1.19" என்ற நிரலாக்க மொழியின் புதிய பதிப்பின் வெளியீடு அறிவிக்கப்பட்டது, பல்வேறு மேம்பாடுகளைச் சேர்ப்பதன் மூலம் முந்தைய வெளியீட்டை மேம்படுத்தும் பதிப்பு மற்றும், எல்லாவற்றிற்கும் மேலாக, பிழைத் திருத்தங்கள். நாம் முன்னிலைப்படுத்தக்கூடிய புதுமைகளில் நினைவக மேலாண்மை, பாதுகாப்பு மேம்பாடுகள் மற்றும் பிற விஷயங்களில் மேம்பாடுகள் உள்ளன.
புதியதாக செல்பவர்களுக்கு, தொகுக்கப்பட்ட மொழிகளின் உயர் செயல்திறனை ஒருங்கிணைத்து, ஸ்கிரிப்டிங் மொழிகள் போன்ற நன்மைகளுடன் சமூகத்தின் பங்கேற்புடன் உருவாக்கப்பட்ட ஒரு நிரலாக்க மொழி இது என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும். குறியீடு எழுதும் எளிமை, வளர்ச்சி மற்றும் பிழை பாதுகாப்பு.
கோவின் தொடரியல் சி மொழியின் வழக்கமான கூறுகளை அடிப்படையாகக் கொண்டது. பைதான் மொழியிலிருந்து சில கடன்கள். மொழி மிகவும் கடினமானது, ஆனால் குறியீடு படிக்கவும் புரிந்துகொள்ளவும் எளிதானது.
கோ குறியீடு தனித்தனி பைனரி இயங்கக்கூடிய கோப்புகளாக தொகுக்கப்பட்டுள்ளது மெய்நிகர் இயந்திரத்தைப் பயன்படுத்தாமல், பூர்வீகமாக இயங்கும் (சுயவிவரம், பிழைத்திருத்தம் மற்றும் பிற இயக்க நேர சரிசெய்தல் துணை அமைப்புகள் இயக்க நேர கூறுகளாக கட்டமைக்கப்பட்டுள்ளன).
1.19 முக்கிய செய்திகளுக்குச் செல்லுங்கள்
வழங்கப்பட்ட Go 1.19 இன் புதிய பதிப்பில், இது சிறப்பம்சமாக உள்ளது செயல்பாடுகள் மற்றும் பொதுவான வகைகளுக்கான ஆதரவைச் செம்மைப்படுத்த வேலை செய்யப்பட்டுள்ளது சமீபத்திய பதிப்பில் சேர்க்கப்பட்டது, இதன் உதவியுடன் டெவலப்பர் ஒரே நேரத்தில் பல வகைகளுடன் பணிபுரிய வடிவமைக்கப்பட்ட செயல்பாடுகளை வரையறுத்து பயன்படுத்த முடியும், மேலும் ஜெனரிக்ஸைப் பயன்படுத்தி சில நிரல்களின் செயல்திறன் மேம்படுத்தல் 20% அதிகரித்துள்ளது.
புதிய பதிப்பிலிருந்து வெளிப்படும் மற்றொரு மாற்றம் அது இணைப்புகள், பட்டியல்கள் மற்றும் எளிமையான தொடரியல் ஆகியவற்றிற்கான ஆதரவைச் சேர்த்தது ஆவணக் கருத்துகளில் தலைப்புகளை வரையறுக்க. gofmt பயன்பாடு API ஆவணங்களுடன் கருத்துகளின் மேம்பட்ட அம்சங்களை மனதில் கொண்டு வடிவமைப்பை வழங்குகிறது.
அது தவிர சி, சி++, ஜாவா, ஜாவாஸ்கிரிப்ட், ரஸ்ட் மற்றும் ஸ்விஃப்ட் ஆகியவற்றுடன் சீரமைக்க கோ நினைவக மாதிரி திருத்தப்பட்டது வரிசையாக சீரான அணு மதிப்புகளை ஒப்புக்கொள்ளாதவை. அணுமதிப்புகளைப் பயன்படுத்துவதை எளிதாக்க, ஒத்திசைவு/அணு தொகுப்பில் atomic.Int64 மற்றும் atomic.Pointer[T] போன்ற புதிய வகைகள் அறிமுகப்படுத்தப்பட்டுள்ளன.
மறுபுறம், அதுவும் குறிப்பிடப்பட்டுள்ளது குப்பை சேகரிப்பான் இப்போது மென்மையான வரம்புகளை வரையறுக்கும் திறனைக் கொண்டுள்ளது, குவியலின் அளவைக் கட்டுப்படுத்துவதன் மூலமும், நினைவகத்தை கணினிக்கு மிகவும் ஆக்ரோஷமாகத் திருப்புவதன் மூலமும் செயல்படுத்தப்படுகிறது, அதாவது, நுகர்வு அனைத்து நிபந்தனைகளின் கீழும் குறிப்பிட்ட வரம்புகளுக்குள் இருக்க உத்தரவாதம் இல்லை. நிலையான நினைவக கொள்கலன்களில் இயங்கும் நிரல்களை மேம்படுத்துவதற்கு மென்மையான வரம்புகள் பயனுள்ளதாக இருக்கும்.
அதுவும் சிறப்பிக்கப்படுகிறது Unix கணினிகளில், கூடுதல் கோப்பு விளக்கங்கள் தானாகவே இயக்கப்படும் (RLIMIT_NOFILE வரம்பை அதிகரிப்பதன் மூலம்), x86-64 மற்றும் ARM64 அமைப்புகளில் பெரிய மாற்ற வெளிப்பாடுகளை விரைவுபடுத்த, ஜம்ப் டேபிள்கள் பயன்படுத்தப்படுகின்றன, இது பெரிய மாற்ற வெளிப்பாடுகளை 20% வேகமாக செயலாக்க அனுமதிக்கிறது.
riscv64 கணினிகளில், CPU பதிவேடுகள் வழியாக செயல்பாடு வாதங்களை அனுப்புவது செயல்படுத்தப்பட்டது, இது சுமார் 10% செயல்திறனை அதிகரிக்க அனுமதித்தது.
மற்ற மாற்றங்களில் இந்த புதிய பதிப்பிலிருந்து தனித்து நிற்கும்:
- பல செயல்திறன் மேம்படுத்தல்கள் செயல்படுத்தப்பட்டுள்ளன.
- நகலெடுக்கப்பட்ட தரவின் அளவைக் குறைக்க, வழக்கமான அடுக்கு அளவை மாறும் வகையில் அமைப்பதற்கான ஆதரவு சேர்க்கப்பட்டது
- 64-பிட் LoongArch கட்டமைப்பின் (GOARCH=loong64) அடிப்படையில் Loongson செயலிகள் கொண்ட கணினிகளில் Linux சூழல்களுக்கான சோதனை ஆதரவு சேர்க்கப்பட்டது.
- நினைவக மாதிரியை மாற்றுவது முன்பு எழுதப்பட்ட குறியீட்டுடன் பொருந்தக்கூடிய தன்மையை பாதிக்கவில்லை.
- Unix-போன்ற அமைப்புகளை (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris) வடிகட்ட, "go:build" வரிகளில் பயன்படுத்தக்கூடிய புதிய "unix" உருவாக்கக் கட்டுப்பாடு சேர்க்கப்பட்டது. )
- பாதுகாப்பை மேம்படுத்த, OS/exec தொகுதி இப்போது PATH சூழல் மாறியை விரிவாக்கும் போது தொடர்புடைய பாதைகளை புறக்கணிக்கிறது (உதாரணமாக, இயங்கக்கூடிய கோப்பின் பாதையை தீர்மானிக்கும் போது, தற்போதைய கோப்பகம் இனி சரிபார்க்கப்படாது).
இறுதியாக, இந்தப் புதிய வெளியீட்டைப் பற்றி மேலும் அறிய நீங்கள் ஆர்வமாக இருந்தால், நீங்கள் விவரங்களைச் சரிபார்க்கலாம் பின்வரும் இணைப்பு.