Tso Tawm ntawm Go programming lus 1.14

Xa los ntawm programming lus tso tawm Mus 1.14, 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.14 tso tawm:

  • Tus tshiab module system hauv "mus" hais kom ua tau tshaj tawm npaj rau kev siv dav dav, qhib los ntawm lub neej ntawd, thiab pom zoo rau kev tswj hwm kev vam khom tsis yog GOPATH. 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.
  • Ntxiv kev txhawb nqa rau embedding interfaces nrog cov txheej txheem sib tshooj. Cov txheej txheem los ntawm lub interface built-in tam sim no tuaj yeem muaj tib lub npe thiab kos npe raws li cov txheej txheem hauv cov interfaces uas twb muaj lawm. Cov kev tshaj tawm meej meej tseem muaj qhov tshwj xeeb zoo li ua ntej.
  • Qhov kev ua tau zoo ntawm "defer" qhia tau raug txhim kho, ua rau nws yuav luag sai li kev hu xov tooj rau ncua sij hawm ncaj qha, tso cai rau ncua kev ua haujlwm ua tiav hauv kev ua haujlwm-sensitive code.
  • Asynchronous preemption ntawm coroutines (goroutines) yog muab - loops uas tsis muaj nuj nqi hu tau tam sim no tej zaum yuav ua rau lub sij hawm deadlock los yog ncua sij hawm pib ntawm cov khib nyiab.
  • Qhov kev ua tau zoo ntawm cov nplooj ntawv faib cov cim xeeb tau raug txhim kho thiab tam sim no muaj tsawg dua kev sib cav sib ceg hauv cov teeb tsa nrog cov txiaj ntsig loj GOMAXPROCS. Qhov tshwm sim yog txo latency thiab nce throughput thaum ib txhij intensively faib loj blocks ntawm nco.
  • Kev ntsuas phoo tau ua kom zoo dua qub thiab tus lej ntawm cov ntsiab lus hloov pauv tau raug txo thaum ua haujlwm hauv lub sijhawm siv sijhawm.After, time.Tick, net.Conn.SetDeadline ua haujlwm.
  • Hauv cov lus txib mus, "-mod = tus neeg muag khoom" chij tau qhib los ntawm lub neej ntawd yog tias muaj cov npe muag khoom hauv lub hauv paus, npaj rau kev xa tawm cov kev cuam tshuam sab nraud khi rau ib tus neeg muag khoom tshwj xeeb. Ntxiv qhov cais "-mod = mod" chij rau thauj cov modules los ntawm lub module cache es tsis yog los ntawm "muab khoom" directory. Yog hais tias cov ntaub ntawv go.mod tsuas yog nyeem nkaus xwb, tus chij "-mod=readonly" tau teeb tsa los ntawm lub neej ntawd yog tias tsis muaj cov npe "tus neeg muag khoom" saum toj kawg nkaus. Ntxiv "-modfile=file" chij los qhia txog lwm cov ntaub ntawv go.mod es tsis yog ib qho ntawm cov module hauv paus directory.
  • Ntxiv rau GOINSECURE ib puag ncig hloov pauv, thaum teeb tsa, cov lus txib mus tsis tas yuav siv HTTPS thiab hla daim ntawv pov thawj tshawb xyuas thaum thauj khoom ncaj qha.
  • Lub compiler tau ntxiv "-d = checkptr" chij, enabled los ntawm lub neej ntawd, los xyuas cov cai rau kev ua raws li cov kev cai rau kev nyab xeeb siv unsafe.Pointer.
  • Ib pob tshiab yog suav nrog hauv kev xa khoom hash/maphash nrog non-cryptographic hash functions los tsim cov rooj hash rau arbitrary byte sequences lossis cov hlua.
  • Ntxiv kev sim txhawb nqa rau 64-ntsis RISC-V platform ntawm Linux.
  • Ntxiv kev txhawb nqa rau FreeBSD ntawm 64-ntsis ARM systems.

Tau qhov twg los: opennet.ru

Ntxiv ib saib