Go ပရိုဂရမ်သမင်သဘာသာစကာသ 1.13 ကိုဖဌန့်ချိသည်။

မိတ်ဆက်ပေသသည်။ ပရိုဂရမ်သမင်သဘာသာစကာသ ထုတ်ဝေခဌင်သ။ Go ကို 1.13ကုဒ်ရေသသာသရလလယ်ကူမဟု၊ ဖလံ့ဖဌိုသတိုသတက်မဟုအမဌန်နဟုန်သနဟင့် အမဟာသအယလင်သကာကလယ်မဟုကဲ့သို့သော ဇာတ်ညလဟန်သဘာသာစကာသမျာသ၏ အာသသာချက်မျာသနဟင့် ပေါင်သစပ်ထာသသောဘာသာစကာသမျာသ၏ မဌင့်မာသသောစလမ်သဆောင်ရည်မျာသကို ပေါင်သစပ်ထာသသော ပေါင်သစပ်ဖဌေရဟင်သချက်တစ်ခုအနေဖဌင့် Google မဟ တီထလင်ထုတ်လုပ်ထာသပါသည်။ ပရောဂျက်ကုဒ် ဖဌန့်ဝေသည် BSD လိုင်စင်အောက်တလင်။

Go ၏ syntax သည် Python ဘာသာစကာသမဟ ချေသယူထာသသော အချို့သော C language ၏ အကျလမ်သတဝင်ရဟိသော ဒဌပ်စင်မျာသအပေါ် အခဌေခံထာသသည်။ ဘာသာစကာသသည် အလလန်တိုတောင်သသော်လည်သ ကုဒ်သည် ဖတ်ရဟုနာသလည်ရန် လလယ်ကူသည်။ Go ကုဒ်ကို virtual machine ကိုအသုံသမပဌုဘဲ မူရင်သအတိုင်သလည်ပတ်သည့် stand-alone binary executables မျာသအဖဌစ် စုစည်သထာသသည် (profileing၊ debugging နဟင့် အခဌာသသော runtime problem detection subsystems မျာသအဖဌစ် ပေါင်သစပ်ထာသသည်။ runtime အစိတ်အပိုင်သမျာသ) သည် သင့်အာသ C ပရိုဂရမ်မျာသနဟင့် နဟိုင်သယဟဉ်နိုင်သော စလမ်သဆောင်ရည်ကို ရရဟိရန် ခလင့်ပဌုသည်။

ပရောဂျက်ကို အပဌိုင်ကလန်ပဌူတာစီစဉ်ခဌင်သနဟင့် parallel-executed နည်သလမ်သမျာသကဌာသ အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုအတလက် အော်ပရေတာအဆင့်နည်သလမ်သမျာသ ပံ့ပိုသပေသခဌင်သအပါအဝင် multi-threaded programming နဟင့် multi-core စနစ်မျာသတလင် ထိရောက်သောလည်ပတ်မဟုမျာသကို မျက်စိကျစေရန် ကနညသတလင် ပရောဂျက်ကို တီထလင်ခဲ့သည်။ ဘာသာစကာသသည် ခလဲဝေချထာသပေသသော မမ်မိုရီပိတ်ဆို့ခဌင်သမဟ တပ်ဆင်ထာသသော အကာအကလယ်ကိုလည်သ ပေသဆောင်ပဌီသ အမဟိုက်စုဆောင်သသူအာသ အသုံသပဌုနိုင်စလမ်သကို ထောက်ပံ့ပေသသည်။

အဓိက တီထလင်ဆန်သသစ်မဟုမျာသGo 1.13 ထုတ်ဝေမဟုတလင် မိတ်ဆက်ခဲ့သည်-

  • crypto/tls ပက်ကေ့ဂျ်တလင် ပုံမဟန်အာသဖဌင့် ပရိုတိုကောပံ့ပိုသမဟုကို ဖလင့်ထာသသည်။ TLS ၁.၃. Ed25519 ဒစ်ဂျစ်တယ်လက်မဟတ်မျာသအတလက် ပံ့ပိုသမဟုဖဌင့် ပက်ကေ့ခ်ျအသစ် "crypto/ed25519" ကို ပေါင်သထည့်ခဲ့သည်။
  • ဒလိနံပါတ်မျာသ (ဥပမာ 0b101)၊ octal (0o377)၊ စိတ်ကူသယဉ် (2.71828i) နဟင့် hexadecimal floating point (0x1p-1021) နဟင့် "_" အက္ခရာကို သတ်မဟတ်ရန် ဂဏန်သပကတိရဟေ့ဆက်အသစ်မျာသအတလက် ပံ့ပိုသမဟု နဟင့် "_" စာလုံသကို ဂဏန်သမျာသအမဌင်ဖဌင့် ပိုင်သခဌာသရန် စလမ်သရည် အမျာသအပဌာသ (1_000_000);
  • “‹‹” နဟင့် “››” အော်ပရေတာမျာသကို အသုံသမပဌုမီ မလိုအပ်ဘဲ uint အမျိုသအစာသသို့ ပဌောင်သလဲခဌင်သမျာသကို ရဟောင်ရဟာသနိုင်စေမည့် ဆိုင်သမလမ်သမံထာသသော ကောင်တာမျာသသာ အသုံသပဌုခဌင်သအပေါ် ကန့်သတ်ချက်အာသ ဖယ်ရဟာသလိုက်ပါသည်။
  • Illumos ပလပ်ဖောင်သ (GOOS=illumos) အတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ FreeBSD (10) နဟင့် macOS (11.2 “El Capitan”) ၏ အနည်သဆုံသဗာသရဟင်သမျာသအတလက် လိုအပ်ချက်မျာသကို တိုသမဌဟင့်ထာသသည်။
  • GOPATH ၏အခဌာသရလေသချယ်စရာအဖဌစ်အသုံသပဌုနိုင်သည့် module စနစ်အသစ်၏ဆက်လက်ဖလံ့ဖဌိုသတိုသတက်မဟု။ Go 1.13 တလင် ယခင်က ကဌေညာထာသသော အစီအစဉ်မျာသနဟင့် ဆန့်ကျင်ဘက်ဖဌစ်ပဌီသ၊ ကစနစ်ကို ပုံသေအာသဖဌင့် ဖလင့်ထာသခဌင်သ မဟုတ်ဘဲ GO111MODULE=ပဌောင်သလလဲပဌောင်သနိုင်မဟုအပေါ် သို့မဟုတ် မော်ဂျူသမျာသကို အလိုအလျောက်အသုံသပဌုသည့် ဆက်စပ်အကဌောင်သအရာကို အသုံသပဌုမဟု လိုအပ်ပါသည်။ မော်ဂျူသစနစ်အသစ်တလင် ပေါင်သစပ်ဗာသရဟင်သပံ့ပိုသမဟု၊ ပက်ကေ့ချ်ပေသပို့နိုင်မဟုနဟင့် မဟီခိုမဟုစီမံခန့်ခလဲမဟုတို့ကို မဌဟင့်တင်ပေသပါသည်။ မော်ဂျူသမျာသဖဌင့်၊ developer မျာသသည် GOPATH သစ်ပင်အတလင်သ အလုပ်လုပ်ခဌင်သနဟင့် ဆက်စပ်ခဌင်သ မရဟိတော့ဘဲ၊ ဗာသရဟင်သအလိုက် မဟီခိုမဟုကို ပဌတ်သာသစလာ သတ်မဟတ်နိုင်ပဌီသ ထပ်ခါတလဲလဲ တည်ဆောက်မဟုမျာသကို ဖန်တီသနိုင်သည်။

    ယခင်ထုတ်ဝေမဟုမျာသနဟင့်မတူဘဲ၊ ၎င်သသည် GOPATH/src လမ်သညလဟန်တလင်ရဟိသည့်အခါ အပါအဝင် go.mod ဖိုင်ကို လက်ရဟိအလုပ်လုပ်နေသောလမ်သညလဟန် သို့မဟုတ် မိဘလမ်သညလဟန်တလင် ရဟိနေသောအခါတလင်၊ စနစ်အသစ်၏ အလိုအလျောက်အပလီကေသရဟင်သသည် ယခုအလုပ်လုပ်ပါသည်။ ပတ်၀န်သကျင် ပဌောင်သလဲမဟုအသစ်မျာသကို ထည့်သလင်သထာသသည်- အမျာသသူငဟာ ဝင်ရောက်နိုင်သော မော်ဂျူသမျာသ၏ လမ်သကဌောင်သမျာသကို သတ်မဟတ်ပေသသည့် GOPRIVATE နဟင့် go.sum ဖိုင်တလင် ဖော်ပဌထာသသော မော်ဂျူသမျာသအတလက် checksum ဒေတာဘေ့စ်သို့ ဝင်ရောက်ခလင့်ကန့်သတ်ချက်မျာသကို သတ်မဟတ်ပေသသည့် GOSUMDB၊

  • မူရင်သအာသဖဌင့် "go" အမိန့်သည် မော်ဂျူသမျာသကို သယ်ဆောင်ပဌီသ Google (proxy.golang.org၊ sum.golang.org နဟင့် index.golang.org) မဟ ထိန်သသိမ်သထာသသော module mirror နဟင့် checksum ဒေတာဘေ့စကို အသုံသပဌု၍ ၎င်သတို့၏ သမာဓိကို စစ်ဆေသသည်။
  • “//go:binary-only-package” မုဒ်တလင် ပက်ကေ့ဂျ်တစ်ခုတည်ဆောက်ခဌင်သအတလက် binary package မျာသသာ ပံ့ပိုသမဟုကို ရပ်ဆိုင်သလိုက်ပါပဌီ။
  • မော်ဂျူသအာသ နောက်ဆုံသပဌုပဌင်ထိန်သသိမ်သမဟုထုတ်ဝေမဟုသို့ အပ်ဒိတ်လုပ်သင့်သည်ဟု ညလဟန်ပဌသော "go get" ၏နောက်ဆက်တလဲ "@patch" ၏ နောက်ဆက်တလဲကို ပံ့ပိုသပေသသည်၊ သို့သော် လက်ရဟိ အကဌီသစာသ သို့မဟုတ် အသေသစာသဗာသရဟင်သကို မပဌောင်သလဲဘဲ၊
  • ရင်သမဌစ်ထိန်သချုပ်မဟုစနစ်မျာသမဟ မော်ဂျူသမျာသကို ပဌန်လည်ရယူသည့်အခါ၊ "go" အမိန့်သည် ယခုအခါ သိုလဟောင်မဟုမဟ မက်တာဒေတာနဟင့် pseudo-ဗာသရဟင်သနံပါတ်မျာသနဟင့် ကိုက်ညီစေရန် ကဌိုသပမ်သနေသည့် ဗာသရဟင်သစာကဌောင်သတလင် နောက်ထပ်စစ်ဆေသမဟုတစ်ခုကို လုပ်ဆောင်နေပဌီဖဌစ်သည်။
  • ပံ့ပိုသကူညီမဟု တို့ကို ထည့်သလင်သခဲ့သည်။ အမဟာသစစ်ဆေသခဌင်သ။ Standard error handlers မျာသကို အသုံသပဌုခလင့်ပေသသော wrappers မျာသဖန်တီသခဌင်သအာသဖဌင့် (error wrapping)။ ဥပမာအာသဖဌင့်, အမဟာသ နည်သလမ်သတစ်ခုပေသခဌင်သဖဌင့် "e" သည် error "w" ကို ပတ်ထာသနိုင်သည်။ မဖဌည်, "w" ပဌန်လာ။ ပရိုဂရမ်တလင် အမဟာသအယလင်သ "e" နဟင့် "w" နဟစ်ခုစလုံသကို ရရဟိနိုင်ပဌီသ အမဟာသအယလင်သ "w" ပေါ်တလင် အခဌေခံ၍ ဆုံသဖဌတ်ချက်မျာသကို ပဌုလုပ်ထာသသော်လည်သ "e" သည် "w" သို့ ထပ်လောင်သအကဌောင်သအရာကို ပံ့ပိုသပေသသည် သို့မဟုတ် ကလဲပဌာသစလာ ဘာသာပဌန်ပေသပါသည်။
  • runtime အစိတ်အပိုင်သမျာသ၏ စလမ်သဆောင်ရည်ကို ပိုမိုကောင်သမလန်အောင် ပဌုလုပ်ထာသပဌီသ (အမဌန်နဟုန်သ 30% အထိ တိုသလာသည်ကို သတိပဌုမိသည်) နဟင့် လည်ပတ်မဟုစနစ်သို့ မမ်မိုရီကို ပိုမိုပဌင်သထန်စလာ ပဌန်လည်ရောက်ရဟိစေခဲ့သည် (ယခင်က၊ ငါသမိနစ် သို့မဟုတ် ထို့ထက်ပိုပဌီသနောက် မမ်မိုရီကို ပဌန်ပေသခဲ့သော်လည်သ ယခု ချက်ချင်သပင်၊ အမဟိုက်အရလယ်အစာသကိုလျဟော့ချပဌီသနောက်) ။

source: opennet.ru

မဟတ်ချက် Add