Go on üks moodsatest programmeerimiskeeltest, mis on saanud paljudes uuringutes tähelepanu, kuna arendajad eelistasid keelt. Go'l on lihtsalt kasutatav ja arusaadav süntaks, pakkudes samal ajal tipptasemel jõudlust.

Go-ga saate luua erinevaid rakendusi, alates veebirakendustest kuni käsurearakendusteni, pilveteenuste ja võrgunduseni. Go kolmandate osapoolte pakettide ökosüsteem toetab paljusid muid kasutusjuhtumeid.

Go'l on enamik funktsioone, mida tänapäevases keeles oodata võiks: geneerilised andmed, samaaegsus, tüübi järeldamine, prügikoristus ja palju muud.

Go'ga alustamine

Saate käivitada Go enamikes operatsioonisüsteemides. Suunduge paigalduste lehel ja laadige alla oma operatsioonisüsteemi jaoks eelistatud Go versioon.

Kui olete Go alla laadinud ja installinud, saate seda teha alustage Go-koodi kirjutamist ja käivitamist failides koos a .mine faililaiendit.

Leiate, et Go-l on enamik teiste programmeerimiskeelte funktsioone ja palju funktsioone. Kui teil on eelnev programmeerimiskogemus, peaksite leidma Go sirgjoonelise.

instagram viewer

Muutujad Go-s

Go on fundamentaalsel tasandil üsna ilmekas. Go-s saab muutujaid deklareerida kahel viisil. Võite kasutada var märksõna erinevate andmetüüpide muutujate deklareerimiseks. Pärast identifikaatori määramist peate määrama muutuja andmetüübi.

var a string
var b int
var c mis tahes

var vanus string = "viieaastane"
var vanus = 5// samaväärne väärtusega vari age int = 5
fmt. Println (vanus)

Sa võid kasutada ükskõik milline andmetüübina, kui te pole muutuja andmetüübis kindel.

Konstandid saate deklareerida ka nupuga konst märksõna sarnaselt muutujate deklareerimisega.

konst vanus = "viieaastane"

Pärast nende deklareerimist on konstante võimatu muuta.

Go pakub alternatiivset viisi funktsioonides muutujate deklareerimiseks. Pange tähele kooloni kasutamist enne võrdusmärki:

funcpeamine() {
vanus := "viieaastane" // samaväärne väärtusega var age = "viis aastat vana"
}

Tingimused Go-s

Go sisaldab ka programmides otsustamise tingimusi. Võite kasutada kui ja muidu avaldused oma koodis otsuste käsitlemiseks.

Siin on näide kui väide, mis võrdleb kahte võrdsuse täisarvu:

var a int = 12

kui a == 12 {
fmt. Println("a võrdub kaheteistkümnega")
}

Saate kasutada ainult muidu avaldused pärast an täpsustamist kui avaldus ja peate täpsustama muidu plokk pärast sulgemist kui plokk:

var a int = 12

kui a == 12 {
fmt. Println("a võrdub kaheteistkümnega")
} muidu {
fmt. Println ("a ei võrdu kaheteistkümnega")
}

The muidu plokk töötab ainult siis, kui kui väide hindab valeks. Go ei paku muu-kui avaldusi, kuid saate neid kasutada lüliti laused keeruliste tingimuslausete jaoks.

Siin on a anatoomia lüliti avaldus Go.

vanus := 7
lüliti vanus {
juhtum1:
fmt. Println("üks")
juhtum2:
fmt. Println("kaks")
juhtum3:
fmt. Println("kolm")
vaikimisi:
fmt. Println("null")
}

Saate luua lülituslauseid nupuga lüliti märksõna, mille järel saate määrata erinevaid juhtumeid juhtum märksõna. Vaikejuhtumit saate käsitleda, kasutades a vaikimisi märksõna.

For Loops in Go

Go pakub korduvate toimingute jaoks for-tsüklit ja erinevalt enamikust keeltest ei ole Go-s tsüklit while või do-while.

Võite kasutada populaarset C-stiilis for-loop või ulatus for-loop, mida teatud andmestruktuurid toetavad.

Siin on näide C-stiili tsükli kasutamisest Go programmis:

funcprinter() {
jaoks mina := 0; mina <= 3; i++ {
fmt. Println (i)
}
}

Saate kasutada Go sisseehitatud vahemikku for-loop liitandmestruktuurides, nagu lõigud, kaardid ja massiivid. The ulatus funktsioon tagastab indeksi ja indeksi elemendi, kui see läbib andmestruktuuri.

jaoks indeks, väärtus := ulatus andmestruktuur {
}

Massiivid Go-s

Massiivid on Go üks liitandmetüüpe. Go massiivid on sarnased C-stiilis massiividega ja neil on deklareerimisel ja instantseerimisel kindel pikkus.

Go-s massiive deklareerige järgmiselt.

var arr [5]string
arr := [7]int{0, 1, 2, 3, 4, 5, 6}

Saate kasutada indekseerimist massiivi teatud positsioonidele elementide juurde pääsemiseks, määramiseks ja värskendamiseks.

arr[3] = "kolm"

Ülaltoodud kood värskendab või lisab stringi neljanda kirjena arr massiivi muutuja.

Viilud Go-s

Go pakub määramata pikkusega andmete töötlemiseks massiive alternatiivina viilud. Viilud on sarnased massiividega, välja arvatud see, et saate muuta viilude pikkust.

Peate kasutama sisseehitatud tegema funktsioon lõigu loomiseks. Edastage lõigu andmetüüp ja esialgne pikkus funktsioonile make.

viil := tegema([]string, 9)
viil[2] = "kaks"

Elementide viiludeks lisamiseks saate kasutada lisamisfunktsiooni. Vaikimisi on lisama Funktsioon lisab elemendid lõigu lõppu.

viil = lisama(viil, "kümme")

Lõikude lisamistoimingud võivad olla kulukad, kuna Go loob iga lisamistoimingu jaoks uue massiivi.

Kaardid rakenduses Go

Kaardid on Go sisseehitatud assotsiatiivne (võtmeväärtuste paar) andmetüüp. Võite kasutada tegema funktsioon kaardi või lihtsa deklaratsiooni loomiseks, kus peate kaardi instantseerima.

kaardid := tegema(kaart[string]int) // kasutades make funktsiooni
kaardid := kaart[string]int{"üks": 1, "kaks": 2, "kolm": 3} // kaardi deklareerimine ja instantseerimine

Kaardil olevatele väärtustele pääsete juurde võtmeid määrates. Samuti saate sisestada kaardile väärtusi, määrates võtme-väärtuste paari.

kaardid["üks"] = 1// lisamine kaardile
üks := kaardid["üks"] // elemendile juurdepääs kaardil

Võite kasutada kustutada funktsioon võtme-väärtuste paaride eemaldamiseks kaartidelt. The kustutada funktsioon võtab sisse kaardi identifikaatori ja eemaldatava paari võtme:

kustutada(kaardid, "üks")

Funktsioonid Go-s

Funktsioonid on Go-s koodi korduvkasutatavuse tööriist. Funktsioone saate deklareerida nupuga func märksõna, millele järgneb funktsiooni identifikaator:

funcpeamine() {
}

Funktsioonid võivad aktsepteerida argumente ja tagastada väärtusi. Peate argumentide identifikaatori kõrval määrama argumendi tüübi.

funclisama(x string, y int)int {
tagasi x + y
}

Määrake tagastamistüüp enne funktsiooni koodiplokki ja tagastate väärtusi tagastavate funktsioonide jaoks määratud tüüpi väärtuse.

Struktuurid Go-s

Mine ei ole objektorienteeritud keel disaini järgi, kuid saate Go-s rakendada objektorienteeritud funktsioone struktuure kasutades.

Struktuurid on kasutaja määratud tüübid muude andmetüüpide rühmitamiseks üheks olemiks. Go-struktuurid võivad sisaldada mis tahes Go-toega tüüpi väärtusi ja funktsioonid võivad struktuure rakendada.

Go-s struktuuri deklareerimiseks tehke järgmist.

tüüp Mäng struktuur {
Nimi string
aasta int
Mänguaeg ujuk64
Mängijad mis tahes
Riigid kaart[string]string
}

The Mäng struct sisaldab väljasid kaardi, stringi, täisarvu ja ujukoma tüüpidega. Saate luua vaikeväärtustega struktuure või määrata neile väärtusi.

var mko mäng // vaikeväärtuse kordus

// instantseerimine väärtustega
mko := mäng{
Nimi: "Väärtus",
Aasta: 1231,
Mänguaeg: 1345412,
Mängijad: [2]string{"9", "kraam"},
andmed: kaart[string]int{"üks": 1, "kaks": 2, "kolm": 2},
}

Funktsioonid saavad rakendada struktuuritüüpe ja neile juurde pääseda. Enne funktsiooni identifikaatorit peate määrama parameetri struct.

func(g mäng)FindGame(nimi string) {
a := g. aasta // juurdepääs struktuuriväljadele
var b = g. Riigid // juurdepääs struktuuriväljadele
}

Kui edastate struktuuri funktsioonile, on sellel funktsioonil juurdepääs struktuuri väljadele ja funktsioonist saab struktuurimeetod.

Go'l on palju kasutusjuhtumeid

Olete õppinud Go programmeerimiskeele põhitõdesid ja süntaksi Go programmide kirjutamise alustamiseks.

Go-d saab kasutada paljudes väljades ja rakendustes. Go-d kasutatakse laialdaselt serveripoolse keelena ja saate alati uurida ka veebipõhiste rakenduste loomist.