Itusilẹ ti ede siseto Go 1.13

Agbekale idasile ede siseto Lọ 1.13, eyiti Google n ṣe idagbasoke pẹlu ikopa ti agbegbe bi ojutu arabara ti o ṣajọpọ iṣẹ ṣiṣe giga ti awọn ede ti a ṣajọpọ pẹlu awọn anfani ti awọn ede kikọ gẹgẹbi irọrun ti koodu kikọ, iyara idagbasoke ati aabo aṣiṣe. koodu ise agbese pin nipasẹ labẹ iwe-aṣẹ BSD.

Sintasi Go ti da lori awọn eroja ti o faramọ ti ede C pẹlu diẹ ninu awọn yiya lati ede Python. Ede jẹ ṣoki pupọ, ṣugbọn koodu naa rọrun lati ka ati loye. A ṣe akojọpọ koodu Go sinu awọn adaṣe alakomeji imurasilẹ ti o nṣiṣẹ ni abinibi laisi lilo ẹrọ foju kan (profaili, n ṣatunṣe aṣiṣe, ati awọn ọna ṣiṣe wiwa awọn iṣoro asiko asiko miiran ni a ṣepọ bi asiko isise irinše), eyiti o fun ọ laaye lati ṣaṣeyọri iṣẹ ṣiṣe ni afiwe si awọn eto C.

Ise agbese na ti ni idagbasoke ni ibẹrẹ pẹlu oju si siseto-asapo-pupọ ati iṣiṣẹ daradara lori awọn ọna ṣiṣe-ọpọ-mojuto, pẹlu ipese awọn ọna-ipele oniṣẹ fun siseto iṣiro iṣiro ati ibaraenisepo laarin awọn ọna ti o jọra. Ede naa tun pese aabo ti a ṣe sinu rẹ lodi si awọn bulọọki iranti ti o pin ju ati pese agbara lati lo ikojọpọ idoti.

akọkọ awọn imotuntunti a ṣafihan ninu itusilẹ Go 1.13:

  • Apo crypto/tls ni atilẹyin ilana ti o ṣiṣẹ nipasẹ aiyipada TLS 1.3. Ti ṣafikun package tuntun “crypto/ed25519” pẹlu atilẹyin fun awọn ibuwọlu oni nọmba Ed25519;
  • Atilẹyin ti a ṣafikun fun awọn ami-iṣaaju gangan nọmba tuntun lati ṣalaye awọn nọmba alakomeji (fun apẹẹrẹ 0b101), octal (0o377), oju inu (2.71828i) ati aaye lilefoofo hexadecimal (0x1p-1021), ati agbara lati lo ihuwasi “_” lati ni oju awọn nọmba lọtọ. ni awọn nọmba nla (1_000_000);
  • Ihamọ lori lilo awọn iṣiro ti ko forukọsilẹ nikan ni awọn iṣẹ iṣipopada ti yọkuro, eyiti o yago fun awọn iyipada ti ko wulo si iru uint ṣaaju lilo awọn oniṣẹ “‹‹” ati “››”;
  • Atilẹyin ti a ṣafikun fun iru ẹrọ Illumos (GOOS=illumos). Ibamu pẹlu Android 10 Syeed ti ni idaniloju. Awọn ibeere fun awọn ẹya ti o kere ju ti FreeBSD (11.2) ati macOS (10.11 “El Capitan”) ti pọ si.
  • Ilọsiwaju idagbasoke ti eto module tuntun, eyiti o le ṣee lo bi yiyan si GOPATH. Ni idakeji si awọn ero ti a kede tẹlẹ ni Go 1.13, eto yii ko ṣiṣẹ nipasẹ aiyipada ati pe o nilo imuṣiṣẹ nipasẹ GO111MODULE=lori oniyipada tabi lilo ipo-ọrọ ninu eyiti awọn modulu ti lo laifọwọyi. Eto module tuntun n ṣe ẹya atilẹyin ẹya ti a ṣepọ, awọn agbara ifijiṣẹ package, ati ilọsiwaju iṣakoso igbẹkẹle. Pẹlu awọn modulu, awọn olupilẹṣẹ ko ni so mọ lati ṣiṣẹ laarin igi GOPATH kan, o le ṣalaye awọn igbẹkẹle ti ikede ni gbangba, ati ṣẹda awọn ile atunwi.

    Ko dabi awọn idasilẹ ti tẹlẹ, ohun elo adaṣe ti eto tuntun n ṣiṣẹ ni bayi nigbati faili go.mod kan wa ninu itọsọna iṣẹ lọwọlọwọ tabi itọsọna obi nigbati o nṣiṣẹ aṣẹ go, pẹlu nigbati o wa ninu itọsọna GOPATH/src. A ti ṣafikun awọn oniyipada ayika titun: GOPRIVATE, eyiti o ṣalaye awọn ọna ti awọn modulu wiwọle si gbangba, ati GOSUMDB, eyiti o ṣalaye awọn aye wiwọle si ibi ipamọ data checksum fun awọn modulu ti a ko ṣe akojọ si ni faili go.sum;

  • Aṣẹ “lọ” nipasẹ awọn modulu fifuye aiyipada ati ṣayẹwo iduroṣinṣin wọn nipa lilo digi module ati ibi ipamọ data checksum ti Google ṣetọju (proxy.golang.org, sum.golang.org ati index.golang.org);
  • Atilẹyin fun awọn idii alakomeji nikan ni a ti dawọ; kikọ idii kan ni ipo “//go: alakomeji-package” mode ni bayi ni aṣiṣe;
  • Atilẹyin ti a ṣafikun fun suffix “@patch” si aṣẹ “lọ gba”, o nfihan pe module yẹ ki o ṣe imudojuiwọn si itusilẹ itọju tuntun, ṣugbọn laisi iyipada pataki lọwọlọwọ tabi ẹya kekere;
  • Nigbati o ba n gba awọn modulu lati awọn eto iṣakoso orisun, aṣẹ "lọ" n ṣe ayẹwo ni afikun lori okun ẹya, igbiyanju lati baramu awọn nọmba-ipin-ipin pẹlu metadata lati ibi ipamọ;
  • Atilẹyin ti a ṣafikun aṣiṣe ayewo (aṣiṣe murasilẹ) nipasẹ awọn ẹda ti wrappers ti o gba awọn lilo ti boṣewa aṣiṣe handlers. Fun apere, aṣiṣe "e" le ti wa ni ti a we ni ayika aṣiṣe "w" nipa pese ọna kan Yọọ kuro, pada "w". Awọn aṣiṣe mejeeji "e" ati "w" wa ninu eto ati awọn ipinnu ti o da lori aṣiṣe "w", ṣugbọn "e" pese aaye afikun si "w" tabi ṣe itumọ rẹ ọtọtọ;
  • Iṣiṣẹ ti awọn paati akoko asiko ti jẹ iṣapeye (ilosoke iyara ti o to 30% ti ṣe akiyesi) ati ipadabọ ibinu diẹ sii ti iranti si ẹrọ ṣiṣe (tẹlẹ, iranti ti pada lẹhin iṣẹju marun tabi diẹ sii, ṣugbọn ni bayi lẹsẹkẹsẹ lẹhin idinku iwọn okiti).

orisun: opennet.ru

Fi ọrọìwòye kun