సమర్పించిన వారు ప్రోగ్రామింగ్ భాష విడుదల 1.13 కి వెళ్ళండి, ఇది సంకలనం చేయబడిన భాషల యొక్క అధిక పనితీరును స్క్రిప్టింగ్ భాషల ప్రయోజనాలతో కూడిన కోడ్ను వ్రాయడం సౌలభ్యం, అభివృద్ధి వేగం మరియు దోష రక్షణ వంటి ప్రయోజనాలతో కూడిన హైబ్రిడ్ పరిష్కారంగా సంఘం భాగస్వామ్యంతో Google చే అభివృద్ధి చేయబడుతోంది. ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది BSD లైసెన్స్ కింద.
గో యొక్క వాక్యనిర్మాణం పైథాన్ భాష నుండి కొన్ని అరువులతో సి భాష యొక్క సుపరిచితమైన మూలకాలపై ఆధారపడి ఉంటుంది. భాష చాలా సంక్షిప్తంగా ఉంది, కానీ కోడ్ చదవడం మరియు అర్థం చేసుకోవడం సులభం. గో కోడ్ వర్చువల్ మెషీన్ను ఉపయోగించకుండా స్థానికంగా అమలు చేసే స్టాండ్-ఏలోన్ బైనరీ ఎక్జిక్యూటబుల్స్లో కంపైల్ చేయబడింది (ప్రొఫైలింగ్, డీబగ్గింగ్ మరియు ఇతర రన్టైమ్ ప్రాబ్లమ్ డిటెక్షన్ సబ్సిస్టమ్లు ఇలా ఏకీకృతం చేయబడ్డాయి రన్టైమ్ భాగాలు), ఇది C ప్రోగ్రామ్లతో పోల్చదగిన పనితీరును సాధించడానికి మిమ్మల్ని అనుమతిస్తుంది.
ప్రాజెక్ట్ ప్రారంభంలో బహుళ-థ్రెడ్ ప్రోగ్రామింగ్ మరియు బహుళ-కోర్ సిస్టమ్లపై సమర్థవంతమైన ఆపరేషన్ను దృష్టిలో ఉంచుకుని, సమాంతర కంప్యూటింగ్ను నిర్వహించడానికి ఆపరేటర్-స్థాయి మార్గాలను అందించడం మరియు సమాంతర-ఎగ్జిక్యూటెడ్ పద్ధతుల మధ్య పరస్పర చర్యతో సహా అభివృద్ధి చేయబడింది. భాష ఎక్కువగా కేటాయించిన మెమరీ బ్లాక్లకు వ్యతిరేకంగా అంతర్నిర్మిత రక్షణను అందిస్తుంది మరియు చెత్త కలెక్టర్ను ఉపయోగించగల సామర్థ్యాన్ని అందిస్తుంది.
ప్రధాన ఆవిష్కరణలుGo 1.13 విడుదలలో పరిచయం చేయబడింది:
crypto/tls ప్యాకేజీకి డిఫాల్ట్గా ప్రోటోకాల్ సపోర్ట్ ఎనేబుల్ చేయబడింది TLS 1.3. Ed25519 డిజిటల్ సంతకాల కోసం మద్దతుతో కొత్త ప్యాకేజీ "క్రిప్టో/ed25519" జోడించబడింది;
బైనరీ సంఖ్యలను (ఉదా 0b101), ఆక్టల్ (0o377), ఇమాజినరీ (2.71828i) మరియు హెక్సాడెసిమల్ ఫ్లోటింగ్ పాయింట్ (0x1p-1021) నిర్వచించడానికి కొత్త సంఖ్యా అక్షరాల ఉపసర్గలకు మద్దతు జోడించబడింది మరియు అంకెలను దృశ్యమానంగా వేరు చేయడానికి "_" అక్షరాన్ని ఉపయోగించగల సామర్థ్యం పెద్ద సంఖ్యలో (1_000_000);
షిఫ్ట్ కార్యకలాపాలలో సంతకం చేయని కౌంటర్లను మాత్రమే ఉపయోగించడంపై ఉన్న పరిమితి తీసివేయబడింది, ఇది “‹‹” మరియు “››” ఆపరేటర్లను ఉపయోగించే ముందు uint రకానికి అనవసరమైన మార్పిడులను నివారిస్తుంది;
Illumos ప్లాట్ఫారమ్కు మద్దతు జోడించబడింది (GOOS=illumos). ఆండ్రాయిడ్ 10 ప్లాట్ఫారమ్తో అనుకూలత నిర్ధారించబడింది, FreeBSD (11.2) మరియు macOS (10.11 “El Capitan”) యొక్క కనీస వెర్షన్ల అవసరాలు పెంచబడ్డాయి.
కొత్త మాడ్యూల్ సిస్టమ్ యొక్క అభివృద్ధిని కొనసాగించడం, ఇది GOPATHకి ప్రత్యామ్నాయంగా ఉపయోగించబడుతుంది. Go 1.13లో గతంలో ప్రకటించిన ప్లాన్లకు విరుద్ధంగా, ఈ సిస్టమ్ డిఫాల్ట్గా ప్రారంభించబడదు మరియు GO111MODULE=on variable ద్వారా యాక్టివేషన్ లేదా మాడ్యూల్స్ స్వయంచాలకంగా వర్తించే సందర్భాన్ని ఉపయోగించడం అవసరం. కొత్త మాడ్యూల్ సిస్టమ్ ఇంటిగ్రేటెడ్ వెర్షన్ సపోర్ట్, ప్యాకేజీ డెలివరీ సామర్థ్యాలు మరియు మెరుగైన డిపెండెన్సీ మేనేజ్మెంట్ను కలిగి ఉంది. మాడ్యూల్లతో, డెవలపర్లు ఇకపై GOPATH ట్రీలో పని చేయడంతో ముడిపడి ఉండరు, సంస్కరణ డిపెండెన్సీలను స్పష్టంగా నిర్వచించగలరు మరియు పునరావృతమయ్యే బిల్డ్లను సృష్టించగలరు.
మునుపటి విడుదలల వలె కాకుండా, కొత్త సిస్టమ్ యొక్క స్వయంచాలక అప్లికేషన్ ఇప్పుడు ప్రస్తుత వర్కింగ్ డైరెక్టరీలో లేదా పేరెంట్ డైరెక్టరీలో గో కమాండ్ని అమలు చేస్తున్నప్పుడు, అది GOPATH/src డైరెక్టరీలో ఉన్నప్పుడు కూడా ఉన్నప్పుడు go.mod ఫైల్ పని చేస్తుంది. కొత్త ఎన్విరాన్మెంట్ వేరియబుల్స్ జోడించబడ్డాయి: GOPRIVATE, ఇది పబ్లిక్గా యాక్సెస్ చేయగల మాడ్యూల్స్ యొక్క మార్గాలను నిర్వచిస్తుంది మరియు go.sum ఫైల్లో జాబితా చేయని మాడ్యూల్స్ కోసం చెక్సమ్ డేటాబేస్కు యాక్సెస్ పారామితులను పేర్కొనే GOSUMDB;
డిఫాల్ట్గా "go" కమాండ్ మాడ్యూల్లను లోడ్ చేస్తుంది మరియు Google (proxy.golang.org, sum.golang.org మరియు index.golang.org) నిర్వహించే మాడ్యూల్ మిర్రర్ మరియు చెక్సమ్ డేటాబేస్ ఉపయోగించి వాటి సమగ్రతను తనిఖీ చేస్తుంది;
"//go:binary-only-package" మోడ్లో కేవలం బైనరీ ప్యాకేజీలకు మద్దతు నిలిపివేయబడింది;
"go get" ఆదేశానికి "@patch" ప్రత్యయం కోసం మద్దతు జోడించబడింది, ఇది మాడ్యూల్ తాజా నిర్వహణ విడుదలకు నవీకరించబడాలని సూచిస్తుంది, కానీ ప్రస్తుత ప్రధాన లేదా చిన్న సంస్కరణను మార్చకుండా;
సోర్స్ కంట్రోల్ సిస్టమ్స్ నుండి మాడ్యూల్లను తిరిగి పొందుతున్నప్పుడు, "go" కమాండ్ ఇప్పుడు వెర్షన్ స్ట్రింగ్పై అదనపు తనిఖీని చేస్తుంది, రిపోజిటరీ నుండి మెటాడేటాతో నకిలీ-వెర్షన్ నంబర్లను సరిపోల్చడానికి ప్రయత్నిస్తుంది;
మద్దతు జోడించబడింది లోపం తనిఖీ (ఎర్రర్ చుట్టడం) ప్రామాణిక ఎర్రర్ హ్యాండ్లర్ల వినియోగాన్ని అనుమతించే రేపర్ల సృష్టి ద్వారా. ఉదాహరణకి, పొరపాటు ఒక పద్ధతిని అందించడం ద్వారా "e"ని ఎర్రర్ "w" చుట్టూ చుట్టవచ్చు విప్పు, తిరిగి "w". ప్రోగ్రామ్లో "e" మరియు "w" రెండు ఎర్రర్లు అందుబాటులో ఉన్నాయి మరియు "w" లోపం ఆధారంగా నిర్ణయాలు తీసుకోబడతాయి, అయితే "e" అనేది "w"కి అదనపు సందర్భాన్ని అందిస్తుంది లేదా దానిని విభిన్నంగా వివరిస్తుంది;
రన్టైమ్ భాగాల పనితీరు ఆప్టిమైజ్ చేయబడింది (30% వరకు వేగం పెరగడం గుర్తించబడింది) మరియు ఆపరేటింగ్ సిస్టమ్కు మెమరీ యొక్క మరింత దూకుడుగా తిరిగి రావడం అమలు చేయబడింది (గతంలో, మెమరీ ఐదు లేదా అంతకంటే ఎక్కువ నిమిషాల తర్వాత తిరిగి ఇవ్వబడింది, కానీ ఇప్పుడు వెంటనే కుప్ప పరిమాణాన్ని తగ్గించిన తర్వాత).