Go 1.22 પહેલેથી જ રિલીઝ થઈ ચૂક્યું છે, તેની નવી સુવિધાઓ અને સુધારાઓ વિશે જાણો

ગોલલેન્ડ

ગો એ સી સિન્ટેક્સ દ્વારા પ્રેરિત સ્થિર ટાઈપિંગ સાથે સમવર્તી, સંકલિત પ્રોગ્રામિંગ ભાષા છે.

નું નવું સંસ્કરણ 1.22 પર જાઓ, સંસ્કરણ 1.21 પછી છ મહિના પછી આવે છે, ટૂલસેટ, રનટાઇમ, ઓપ્ટિમાઇઝેશન સુધારણાઓ, કમ્પાઇલર સુધારાઓ અને લાઇબ્રેરીઓમાં સંખ્યાબંધ નોંધપાત્ર ફેરફારો સાથે.

જેઓ ગો વિશે નથી જાણતા, મારે તમને કહેવું જ જોઇએ કે આ છેતે એક પ્રોગ્રામિંગ ભાષા છે જે Google દ્વારા વિકસાવવામાં આવી રહી છે હાઇબ્રિડ સોલ્યુશન તરીકે સમુદાયની ભાગીદારી સાથે જે સંકલિત ભાષાઓના ઉચ્ચ પ્રદર્શનને સ્ક્રિપ્ટીંગ લેંગ્વેજ જેવા કે લખવાની સરળતા, વિકાસની ઝડપ અને ભૂલો સામે રક્ષણ જેવા ફાયદાઓ સાથે જોડે છે.

1.22 ની મુખ્ય નવી સુવિધાઓ

આ નવા સંસ્કરણમાં, જે Go 1.22 થી રજૂ કરવામાં આવ્યું છે, હાઇલાઇટ્સ "માટે" લૂપ્સમાં બે ફેરફારોત્યારથી પહેલાં, લૂપ માટે a દ્વારા ઘોષિત ચલો એકવાર બનાવવામાં આવતા હતા અને દરેક પુનરાવર્તનમાં અપડેટ કરવામાં આવ્યા હતા. Go 1.22 માં, લૂપનું દરેક પુનરાવર્તન નવા ચલો બનાવે છે આકસ્મિક શેરિંગ ભૂલો ટાળવા માટે, વધુમાં લૂપ્સ માટે શ્રેણીના કાર્યો માટે પ્રાયોગિક સમર્થન (GOEXPERIMENT=rangefunc) ઉમેર્યું, જે તમને ઇટરરેટર તરીકે ફંક્શનનો ઉલ્લેખ કરવાની પરવાનગી આપે છે અને ફોર લૂપ્સ સાથે લાંબા સમયથી ચાલી આવતી સમસ્યાનું નિરાકરણ કર્યું જેના કારણે કોરોટીન કોલ પુનરાવૃત્તિઓ વચ્ચે લૂપ વેરીએબલ્સ શેર કરે છે. વધુમાં, લૂપ્સ માટે હવે પૂર્ણાંકો દ્વારા લૂપ કરી શકાય છે. દાખ્લા તરીકે:

પેકેજ મુખ્ય આયાત "fmt" func main() { i માટે := શ્રેણી 10 { fmt.Println(10 - i) } fmt.Println("go1.22 ઉપડે છે!") }

આ નવા સંસ્કરણમાં અન્ય નોંધપાત્ર ફેરફાર એ ની રજૂઆત છે ડિરેક્ટરીનો ઉપયોગ કરવાની ક્ષમતા «વિક્રેતા« જેમાં વર્કસ્પેસ ડિપેન્ડન્સી છે. હવે આદેશો તમે આ ડિરેક્ટરીનો ઉપયોગ કરી શકો છો, જે ` સાથે બનાવવામાં આવી છેકામ વિક્રેતા જાઓ` અને બિલ્ડ આદેશોમાં વપરાય છે જ્યારે ` સેટ થાય છે-મોડ` માં «વિક્રેતા«, જ્યારે ડિરેક્ટરી અસ્તિત્વમાં હોય ત્યારે આ ડિફૉલ્ટ મૂલ્ય છે «વિક્રેતા» કાર્યસ્થળમાં.

એ નોંધવું અગત્યનું છે કે ની કાર્યક્ષમતા `જા લઇ લે` મોડમાં મોડ્યુલની બહાર હવે સમર્થિત નથી ગોપથ વારસાગત જો કે, અન્ય બિલ્ડ આદેશો જેમ કે `ગો બિલ્ડ` અને `ગો ટેસ્ટ` તેઓ વારસાગત GOPATH કાર્યક્રમો માટે અનિશ્ચિત સમય માટે કામ કરવાનું ચાલુ રાખશે. વધુમાં, આદેશ `ગો મોડ ઇનિટ` હવે અન્ય «ની રૂપરેખાંકન ફાઇલોમાંથી મોડ્યુલ આવશ્યકતાઓને આયાત કરવાનો પ્રયાસ કરશે નહીં"વેન્ડરિંગ" (જેમ કે Gopkg.lock).

ગો 1.22 એ પરિચય આપે છે નવું પેકેજ io/અસુરક્ષિત જે પોઈન્ટર્સ અને અસુરક્ષિત મેમરી સાથે કામ કરવા માટે કાર્યક્ષમતા પ્રદાન કરે છે. આ પૅકેજ પૉઇન્ટરને સુરક્ષિત અને અસુરક્ષિત પ્રકારોમાં રૂપાંતરિત કરવા તેમજ બાઉન્ડ ચેકિંગ વિના મેમરી કૉપિ ઑપરેશન કરવા માટેની પદ્ધતિઓ પ્રદાન કરે છે.

p ના પરિણામોના આધારે કમ્પાઇલરમાં ઑપ્ટિમાઇઝેશનનો સમાવેશ કરવાનું કામ ચાલુ રાખ્યુંPGO કોડ પ્રોફાઇલિંગ, અને તે છે હવે કમ્પાઈલર પરોક્ષ કોલ્સ બદલવા માટે ડીવર્ચ્યુઅલાઈઝેશન ટૂલ્સનો ઉપયોગ કરે છે વિસ્તૃત ઇનલાઇન બ્લોક એક્ઝેક્યુશન સાથેની વિવિધ પદ્ધતિઓ. જ્યારે PGO સક્ષમ કરવામાં આવ્યું હતું, ત્યારે વધારાના ફેરફારથી મોટાભાગના કાર્યક્રમોનું પ્રદર્શન 2% થી 14% સુધી સુધર્યું હતું.

ની આવૃત્તિમાં વિન્ડોઝ માટે જાઓ, એવા પ્રોગ્રામ્સ કે જે લાઈબ્રેરીઓને લિંક કરે છે અથવા લોડ કરે છે સાથે બાંધવામાં જાઓ -buildmode=c-આર્કાઇવ o -buildmode=c-શેર કરેલ હવે ઇવેન્ટ લોગીંગ વિન્ડોઝ (ETW) API નો ઉપયોગ કરી શકે છે નવા પેકેજો દ્વારા રનટાઇમ/ટ્રેસ y ટ્રેસહૂક, જે ETW પ્રદાતા તરીકે ગો ઇવેન્ટ ટ્રેસ કલેક્શન પ્રોટોકોલનો અમલ કરે છે.

અન્ય ફેરફારો કે જે standભા છે:

  • આદેશ ટેસ્ટ-કવર પર જાઓ હવે આવરી લેવાયેલા પેકેજો માટે કવરેજ સારાંશ છાપે છે કે જેની પાસે તેમની પોતાની પરીક્ષણ ફાઇલો નથી.
  • os/exec, સંદર્ભ વિશેષતાઓને વ્યાખ્યાયિત કરવાની ક્ષમતા ઉમેરવામાં આવી છે, જે તમને કાર્યકારી નિર્દેશિકા, પર્યાવરણ ચલો અને એક્ઝિક્યુટેડ આદેશો માટે ઇનપુટ/આઉટપુટ ફાઇલ વર્ણનકર્તા જેવા મૂલ્યો સેટ કરવાની મંજૂરી આપે છે.
  • રનટાઇમમાં ઑપ્ટિમાઇઝ મેમરી મેનેજમેન્ટ, પરિણામે 1% થી 3% પરફોર્મન્સમાં વધારો થાય છે અને મોટાભાગની એપ્લિકેશનો માટે મેમરી વપરાશમાં 1% ઘટાડો થાય છે.
  • પેકેજ નેટ/http, ફંક્શન ઉમેરવામાં આવ્યું છે IdleConnections બંધ કરો HTTP ક્લાયંટને, જે ક્લાઈન્ટે તાજેતરમાં ઉપયોગમાં લીધેલા બધા નિષ્ક્રિય જોડાણોને બંધ કરે છે
  • કમ્પાઇલરમાં કોલ ઇન્સર્ટેશન મિકેનિઝમનું સુધારેલું પ્રાયોગિક અમલીકરણ (GOEXPERIMENT=newinliner) ઉમેરવામાં આવ્યું છે, જે મહત્વની કામગીરીને બિન-મહત્વની કામગીરીથી અલગ કરવા માટે હ્યુરિસ્ટિક્સનો ઉપયોગ કરે છે.
  • પેકેજ ઉમેરવામાં આવ્યું છે » ગણિત/રેન્ડ/v2 » પ્રમાણભૂત લાઇબ્રેરીમાં, જે વધુ સુસંગત API પ્રદાન કરે છે અને સ્યુડોરેન્ડમ નંબરો બનાવવા માટે ઝડપી અલ્ગોરિધમનો ઉપયોગ કરે છે.
  • પેકેજ net/http.ServeMux નમૂનાઓમાં પદ્ધતિઓ અને માસ્ક સ્પષ્ટ કરવાની ક્ષમતા ઉમેરી.

છેલ્લે, જો તમે છો તેના વિશે વધુ જાણવામાં રસ છે, તમે વિગતો ચકાસી શકો છો નીચેની કડીમાં


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.