Tso Tawm ntawm Go programming lus 1.13

Xa los ntawm programming lus tso tawm Mus 1.13, uas yog tsim los ntawm Google nrog kev koom tes ntawm cov zej zog raws li ib tug hybrid kev daws teeb meem uas combines cov kev ua tau zoo ntawm compiled lus nrog rau qhov zoo ntawm scripting lus xws li yooj yim ntawm kev sau code, ceev ntawm kev loj hlob thiab kev tiv thaiv yuam kev. Qhov project code faib los ntawm raws li BSD daim ntawv tso cai.

Go's syntax yog raws li paub cov ntsiab lus ntawm C lus nrog qee qhov qiv los ntawm Python hom lus. Cov lus yog cov ntsiab lus, tab sis cov cai yooj yim nyeem thiab nkag siab. Go code yog muab tso ua ke rau hauv stand-alone binary executables uas khiav ib txwm tsis siv lub tshuab virtual (profiling, debugging, thiab lwm yam runtime teeb meem nrhiav kom tau subsystems yog integrated li. runtime Cheebtsam), uas tso cai rau koj ua tiav kev ua tau zoo piv rau C cov kev pab cuam.

Qhov project yog pib tsim nrog lub qhov muag rau ntau txoj xov xwm kev ua haujlwm thiab kev ua haujlwm tau zoo ntawm ntau cov tub ntxhais kawm, suav nrog kev muab cov neeg ua haujlwm-qib txhais tau tias rau kev teeb tsa cov lej sib npaug thiab kev sib cuam tshuam ntawm cov txheej txheem sib luag. Cov lus kuj tseem muaj kev tiv thaiv built-in tiv thaiv ntau tshaj kev faib cov cim xeeb blocks thiab muab lub peev xwm los siv cov khoom khib nyiab.

ntsiab kev tsim kho tshiabqhia hauv Go 1.13 tso tawm:

  • Cov pob crypto/tls muaj cov txheej txheem txhawb nqa los ntawm lub neej ntawd Lub Xeem TLS 1.3. Ntxiv pob tshiab "crypto/ed25519" nrog kev txhawb nqa rau Ed25519 cov kos npe digital;
  • Ntxiv kev txhawb nqa rau cov lej tshiab sau ua ntej los txhais cov lej binary (xws li 0b101), octal (0o377), kev xav (2.71828i) thiab hexadecimal floating point (0x1p-1021), thiab muaj peev xwm siv lub cim "_" kom pom cov lej cais. ntau (1_000_000);
  • Kev txwv tsis pub siv cov txee uas tsis tau kos npe hauv kev ua haujlwm hloov pauv tau raug tshem tawm, uas zam kev hloov pauv tsis tsim nyog rau hom uint ua ntej siv cov "β€Ήβ€Ή" thiab "β€Ίβ€Ί" tus tswv;
  • Ntxiv kev txhawb nqa rau Illumos platform (GOOS = illumos). Kev sib raug zoo nrog Android 10 platform tau raug lees paub. Cov cai rau qhov tsawg kawg nkaus ntawm FreeBSD (11.2) thiab macOS (10.11 "El Capitan") tau nce.
  • Kev txhim kho txuas ntxiv ntawm cov qauv tshiab, uas tuaj yeem siv los ua lwm txoj hauv kev rau GOPATH. Contrary to yav dhau los tshaj tawm cov phiaj xwm hauv Go 1.13, qhov system no tsis tau qhib los ntawm lub neej ntawd thiab yuav tsum tau ua kom dhau los ntawm GO111MODULE = ntawm qhov sib txawv lossis kev siv cov ntsiab lus uas cov modules tau siv tau. Tus tshiab module system nta kev sib koom ua ke kev txhawb nqa, pob khoom xa tuaj, thiab txhim kho kev tswj hwm kev vam meej. Nrog cov qauv, cov neeg tsim khoom tsis raug khi rau kev ua haujlwm hauv GOPATH tsob ntoo, tuaj yeem txhais tau meej meej cov kev vam meej, thiab tsim kev tsim rov ua dua.

    Tsis zoo li yav dhau los tso tawm, tsis siv neeg daim ntawv thov ntawm cov txheej txheem tshiab tam sim no ua haujlwm thaum cov ntaub ntawv go.mod muaj nyob rau hauv daim ntawv teev npe ua haujlwm tam sim no lossis cov npe niam txiv thaum khiav cov lus txib mus, suav nrog thaum nws nyob hauv GOPATH/src directory. Cov kev hloov pauv ib puag ncig tshiab tau ntxiv lawm: GOPRIVATE, uas txhais tau hais tias txoj hauv kev ntawm cov qauv siv tau rau pej xeem, thiab GOSUMDB, uas qhia txog kev nkag mus rau cov ntaub ntawv checksum rau cov modules tsis tau teev nyob rau hauv cov ntaub ntawv go.sum;

  • Cov lus txib "mus" los ntawm lub neej ntawd loads modules thiab xyuas lawv cov kev ncaj ncees siv lub module daim iav thiab checksum database tswj los ntawm Google (proxy.golang.org, sum.golang.org thiab index.golang.org);
  • Kev them nyiaj yug rau cov pob ntawv binary nkaus xwb tau raug txiav lawm; tsim ib pob hauv "// mus: binary-tsuas-pob" hom tam sim no ua rau muaj qhov yuam kev;
  • Ntxiv kev txhawb nqa rau "@patch" suffix rau "mus tau" hais kom ua, qhia tias lub module yuav tsum tau hloov kho rau qhov tseeb txij nkawm tso tawm, tab sis tsis hloov qhov loj lossis me version tam sim no;
  • Thaum retrieving modules los ntawm qhov chaw tswj systems, cov lus txib "mus" tam sim no ua ib qho kev kuaj ntxiv ntawm txoj hlua version, sim ua kom phim tus lej pseudo-version nrog metadata los ntawm qhov chaw cia khoom;
  • Ntxiv kev txhawb nqa kev soj ntsuam yuam kev (error wrapping) los ntawm kev tsim cov wrappers uas tso cai rau siv cov txheej txheem yuam kev. Piv txwv li, yuam kev "e" tuaj yeem qhwv ib ncig ntawm qhov yuam kev "w" los ntawm kev muab ib txoj hauv kev Tshem tawm, rov "w". Ob qho yuam kev "e" thiab "w" muaj nyob rau hauv qhov kev pab cuam thiab kev txiav txim siab yog ua raws li qhov yuam kev "w", tab sis "e" muab cov ntsiab lus ntxiv rau "w" lossis txhais nws txawv;
  • Qhov kev ua tau zoo ntawm cov khoom siv sijhawm ua haujlwm tau raug kho kom zoo (qhov nrawm nce mus txog 30% tau raug sau tseg) thiab kev rov qab los ntawm kev nco ntau dua rau lub operating system tau siv (yav dhau los, nco tau rov qab los tom qab tsib feeb lossis ntau dua, tab sis tam sim no tam sim no. tom qab txo qhov loj heap).

Tau qhov twg los: opennet.ru

Ntxiv ib saib