Go er et af de moderne programmeringssprog, der vinder indpas i mange undersøgelser, da udviklere foretrak sprog. Go har en syntaks, der er nem at bruge og forstå, samtidig med at den giver ydeevne i topniveau.

Du kan bruge Go til at bygge forskellige applikationer, fra webapps til kommandolinjeapps, skytjenester og netværk. Go's økosystem af tredjepartspakker understøtter mange andre use cases.

Go har de fleste af de funktioner, du kan forvente på et moderne sprog: generisk, samtidighed, typeslutning, affaldsindsamling og mange flere.

Kom godt i gang med Go

Du kan køre Go på de fleste operativsystemer. Gå til installationssiden og download en foretrukken Go-version til dit operativsystem.

Når du har downloadet og installeret Go, kan du begynde at skrive og køre Go-kode i filer med en .gå filtypenavn.

Du vil opdage, at Go har de fleste funktioner og meget af funktionaliteten fra andre programmeringssprog. Hvis du har tidligere programmeringserfaring, bør du finde Go straightforward.

Variabler i Go

instagram viewer

Go er ret udtryksfuldt på det grundlæggende plan. Der er to måder, du kan erklære variabler på i Go. Du kan bruge var nøgleord til at erklære variabler af forskellige datatyper. Efter at have angivet identifikatoren, skal du indstille variablens datatype.

var -en snor
var b int
var c enhver

var alder snor = "fem år gammel"
var alder = 5// svarende til var alder int = 5
fmt. Println (alder)

Du kan bruge nogen som datatype, hvis du er usikker på variablens datatype.

Du kan også erklære konstanter med konst søgeord på samme måde som at erklære variabler.

konst alder = "fem år gammel"

Det er umuligt at ændre konstanter efter deres erklæring.

Go giver en alternativ måde at erklære variabler i funktioner på. Bemærk brugen af ​​et kolon før lighedstegnet:

funcvigtigste() {
alder := "fem år gammel" // svarende til var alder = "fem år gammel"
}

Betingelser i Go

Go har også betingelser for beslutningstagning i programmer. Du kan bruge hvis og andet udsagn i din kode til at håndtere beslutninger.

Her er et eksempel hvis sætning, der sammenligner to heltal for lighed:

var -en int = 12

hvis a == 12 {
fmt. Println("a er lig med tolv")
}

Du kan kun bruge andet erklæringer efter angivelse af en hvis erklæring, og du skal angive andet blok efter lukningen hvis blok:

var -en int = 12

hvis a == 12 {
fmt. Println("a er lig med tolv")
} andet {
fmt. Println("a er ikke lig med tolv")
}

Det andet blok kører kun, når hvis udsagn vurderes til falsk. Go giver ikke else-if-udsagn, men du kan bruge kontakt udsagn for komplekse betingede udsagn.

Her er anatomien af ​​en kontakt erklæring i Go.

alder := 7
kontakt alder {
sag1:
fmt. Println("en")
sag2:
fmt. Println("to")
sag3:
fmt. Println("tre")
Standard:
fmt. Println("nul")
}

Du kan oprette switch-udsagn med kontakt søgeord, hvorefter du kan angive forskellige tilfælde med sag søgeord. Du kan håndtere standardsagen ved hjælp af en Standard søgeord.

Til Loops in Go

Go giver for-loops til gentagne opgaver, og i modsætning til de fleste sprog er der ingen while eller do-while loop i Go.

Du kan bruge den populære C-stil for-loop eller rækkevidde for-loop, som visse datastrukturer understøtter.

Her er et eksempel på brug af C-stilen til loop i et Go-program:

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

Du kan bruge Gos indbyggede rækkevidde for-loop på sammensatte datastrukturer som udsnit, kort og arrays. Det rækkevidde funktion returnerer indekset og elementet i indekset, når det krydser datastrukturen.

til indeks, værdi := rækkevidde dataStructure {
}

Arrays i Go

Arrays er en af ​​de sammensatte datatyper i Go. Go-arrays ligner C-stil-arrays og har en bestemt længde ved deklaration og instansiering.

Sådan kan du erklære arrays i Go:

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

Du kan bruge indeksering til at få adgang til, tildele og opdatere elementer i en position i arrayet:

arr[3] = "tre"

Koden ovenfor opdaterer eller indsætter strengen som den fjerde indgang i arr array variabel.

Skiver i Go

Go leverer udsnit som et alternativ til arrays til håndtering af data af ubestemt længde. Skiver ligner arrays, bortset fra at du kan ændre længden af ​​skiver.

Du skal bruge den indbyggede lave funktion til at oprette et udsnit. Indgiv udsnittets datatype og startlængde til make-funktionen.

skive := lave([]snor, 9)
skive[2] = "to"

Du kan bruge tilføj-funktionen til at indsætte elementer i udsnit. Som standard er Tilføj funktion indsætter elementer i slutningen af ​​udsnittet.

skive = Tilføj(skive, "ti")

Tilføj operationer på udsnit kan være dyrt at arbejde med, da Go opretter et nyt array på hver tilføjelseshandling.

Kort i Go

Kort er den indbyggede associative (nøgle-værdi-par) datatype i Go. Du kan bruge lave funktion til at oprette et kort eller en simpel erklæring, hvor du bliver nødt til at instantiere kortet.

kort := lave(kort[snor]int) // ved hjælp af make-funktionen
kort := kort[snor]int{"en": 1, "to": 2, "tre": 3} // erklærer og instansierer et kort

Du kan få adgang til værdier på et kort ved at angive tasterne. Du kan også indsætte værdier i et kort ved at angive et nøgleværdi-par.

maps["one"] = 1// indsættelse på kortet
et := kort["et"] // adgang til element fra kortet

Du kan bruge slette funktion til at fjerne nøgleværdi-par fra kort. Det slette funktionen tager kortets identifikator og nøglen til det par, du vil fjerne:

slette(kort, "et")

Funktioner i Go

Funktioner er værktøjet til genbrug af kode i Go. Du kan erklære funktioner med func nøgleord efterfulgt af funktionens identifikator:

funcvigtigste() {
}

Funktioner kan acceptere argumenter og returnere værdier. Du bliver nødt til at angive argumenttypen ved siden af ​​identifikatoren for argumenter.

functilføje(x snor, y int)int {
Vend tilbage x + y
}

Du skal angive returtypen før funktionens kodeblok og returnere en værdi af den angivne type for funktioner, der returnerer værdier.

Strukturer i Go

Go er ikke en objektorienteret sprog efter design, men du kan implementere objektorienterede funktioner i Go ved hjælp af strukturer.

Strukturer er brugerdefinerede typer til at gruppere andre datatyper i en enkelt enhed. Go-strukturer kan indeholde værdier af enhver Go-understøttet type, og funktioner kan implementere strukturer.

Sådan kan du erklære en struct i Go:

type Spil struktur {
Navn snor
År int
Lege tid flyde 64
Spillere evt
lande kort[snor]snor
}

Det Spil struct har felter med typer af kort, streng, heltal og flydende komma. Du kan instansiere strukturer med standardværdier eller tildele værdier til dem.

var mko spil // instansiering af standardværdi

// instansierer med værdier
mko := Spil{
Navn: "Værdi",
År: 1231,
Lege tid: 1345412,
Spillere: [2]snor{"9", "ting og sager"},
data: kort[snor]int{"en": 1, "to": 2, "tre": 2},
}

Funktioner kan implementere og få adgang til strukturtyper. Du skal angive struct-parameteren før funktionens identifikator.

func(g spil)Find spil(navn snor) {
a := g. År // adgang til struct-felter
var b = g. lande // adgang til struct-felter
}

Når du sender en struct til en funktion, har funktionen adgang til structens felter, og funktionen bliver en struct-metode.

Go har mange brugssager

Du har lært det grundlæggende i Go-programmeringssproget og syntaksen for at begynde at skrive Go-programmer.

Der er mange felter og applikationer, hvor du kan bruge Go. Go er populært brugt som et server-side sprog, og du kan også altid udforske at bygge webbaserede applikationer med det.