Go is een van de moderne programmeertalen die in veel enquêtes aan populariteit wint als voorkeurstaal van ontwikkelaars. Go heeft een gebruiksvriendelijke en begrijpelijke syntaxis en biedt tegelijkertijd topprestaties.
U kunt Go gebruiken om verschillende toepassingen te bouwen, van web-apps tot opdrachtregel-apps, cloudservices en netwerken. Go's ecosysteem van pakketten van derden ondersteunt vele andere use-cases.
Go heeft de meeste functies die u in een moderne taal zou verwachten: generieke talen, concurrency, type-inferentie, opschoning en nog veel meer.
Aan de slag met Go
U kunt Go uitvoeren op de meeste besturingssystemen. Ga naar de installatiepagina en download een gewenste Go-versie voor uw besturingssysteem.
Zodra je Go hebt gedownload en geïnstalleerd, kan dat begin met het schrijven en uitvoeren van Go-code in bestanden met een .gaan bestandsextensie.
Je zult zien dat Go de meeste functies en veel van de functionaliteit van andere programmeertalen heeft. Als je eerdere programmeerervaring hebt, zou je Go eenvoudig moeten vinden.
Variabelen in Go
Go is behoorlijk expressief op het fundamentele niveau. Er zijn twee manieren om variabelen in Go te declareren. U kunt de var trefwoord om variabelen van verschillende gegevenstypen te declareren. Nadat u de identifier hebt opgegeven, moet u het gegevenstype van de variabele instellen.
var A snaar
var B int
var c elk
var leeftijd snaar = "vijf jaar oud"
var leeftijd = 5// gelijk aan var age int = 5
fmt. Println (leeftijd)
Je kunt gebruiken elk als het gegevenstype als u niet zeker bent van het gegevenstype van de variabele.
Je kunt ook constanten declareren met de const trefwoord op dezelfde manier als het declareren van variabelen.
const leeftijd = "vijf jaar oud"
Het is onmogelijk om constanten te wijzigen nadat ze zijn gedeclareerd.
Go biedt een alternatieve manier om variabelen in functies te declareren. Let op het gebruik van een dubbele punt voor het gelijkteken:
funcvoornaamst() {
leeftijd := "vijf jaar oud" // gelijk aan var age = "vijf jaar oud"
}
Voorwaardelijk in Go
Go heeft ook voorwaarden voor besluitvorming in programma's. U kunt de als En anders verklaringen in uw code om beslissingen af te handelen.
Hier is een voorbeeld als verklaring die twee gehele getallen vergelijkt voor gelijkheid:
var A int = 12
als een == 12 {
fmt. Println("a is gelijk aan twaalf")
}
Je kunt alleen gebruiken anders verklaringen na het specificeren van een als verklaring, en u moet de anders blokkeren na sluitingstijd als blok:
var A int = 12
als een == 12 {
fmt. Println("a is gelijk aan twaalf")
} anders {
fmt. Println("a is niet gelijk aan twaalf")
}
De anders blok wordt alleen uitgevoerd wanneer de als verklaring evalueert naar onwaar. Go biedt geen else-if-statements, maar u kunt ze wel gebruiken schakelaar verklaringen voor complexe voorwaardelijke verklaringen.
Hier is de anatomie van een schakelaar verklaring in Go.
leeftijd := 7
schakelaar leeftijd {
geval1:
fmt. Println("een")
geval2:
fmt. Println("twee")
geval3:
fmt. Println("drie")
standaard:
fmt. Println("nul")
}
U kunt switch-instructies maken met de schakelaar trefwoord, waarna u verschillende gevallen kunt specificeren met de geval trefwoord. U kunt de standaardcase afhandelen met behulp van a standaard trefwoord.
Voor Loops in Go
Go biedt for-loops voor repetitieve taken, en in tegenstelling tot de meeste talen is er geen while- of do-while-lus in Go.
Je kunt de populaire C-stijl for-loop of de bereik for-loop die door bepaalde datastructuren wordt ondersteund.
Hier is een voorbeeld van het gebruik van de for-lus in C-stijl in een Go-programma:
funcprinter() {
voor ik := 0; ik <= 3; ik++ {
fmt. Println (ik)
}
}
U kunt Go's ingebouwde range for-loop gebruiken voor samengestelde gegevensstructuren zoals segmenten, kaarten en arrays. De bereik functie retourneert de index en het element van de index terwijl deze de gegevensstructuur doorloopt.
voor index, waarde := bereik data structuur {
}
Arrays in Go
Arrays zijn een van de samengestelde gegevenstypen in Go. Go-arrays zijn vergelijkbaar met arrays in C-stijl en hebben een bepaalde lengte bij declaratie en instantiëring.
Hier leest u hoe u arrays in Go kunt declareren:
var arr [5]snaar
arr := [7]int{0, 1, 2, 3, 4, 5, 6}
U kunt indexering gebruiken om elementen in een positie van de array te openen, toe te wijzen en bij te werken:
arr[3] = "drie"
De bovenstaande code werkt de tekenreeks bij of voegt deze in als de vierde invoer van het arr array-variabele.
Plakjes in Go
Go biedt slices als alternatief voor arrays voor het omgaan met gegevens van onbepaalde lengte. Segmenten zijn vergelijkbaar met arrays, behalve dat u de lengte van segmenten kunt wijzigen.
U moet de ingebouwde gebruiken maken functie om een segment te maken. Geef het gegevenstype en de initiële lengte van het segment door aan de make-functie.
plak := maken([]snaar, 9)
plak[2] = "twee"
U kunt de append-functie gebruiken om elementen in segmenten in te voegen. Standaard is de toevoegen functie voegt elementen in aan het einde van het segment.
plakje = toevoegen(plak, "tien")
Toevoegbewerkingen op segmenten kunnen duur zijn om mee te werken, aangezien Go voor elke toevoegbewerking een nieuwe array maakt.
Kaarten in Go
Kaarten zijn het ingebouwde associatieve (sleutel-waardepaar) gegevenstype in Go. U kunt de maken functie om een kaart te maken of een eenvoudige declaratie waarbij u de kaart moet instantiëren.
kaarten := maken(kaart[snaar]int) // met behulp van de make-functie
kaarten := kaart[snaar]int{"een": 1, "twee": 2, "drie": 3} // een kaart declareren en instantiëren
U krijgt toegang tot waarden in een kaart door de sleutels op te geven. U kunt ook waarden in een kaart invoegen door een sleutel-waardepaar op te geven.
kaarten["een"] = 1// invoegen op de kaart
een := kaarten["een"] // toegang tot element van de kaart
U kunt de verwijderen functie om sleutel-waardeparen uit kaarten te verwijderen. De verwijderen functie neemt de identifier van de kaart en de sleutel van het paar dat u wilt verwijderen:
verwijderen(kaarten, "één")
Functies in Go
Functies zijn de tool voor herbruikbaarheid van code in Go. U kunt functies declareren met de func trefwoord gevolgd door de identifier van de functie:
funcvoornaamst() {
}
Functies kunnen argumenten accepteren en waarden retourneren. U moet het argumenttype specificeren naast de ID voor argumenten.
functoevoegen(X snaar, j int)int {
opbrengst x + y
}
U specificeert het retourtype vóór het codeblok van de functie en retourneert een waarde van het opgegeven type voor functies die waarden retourneren.
Structuren in Go
Go is geen objectgeoriënteerde taal door ontwerp, maar u kunt objectgeoriënteerde functies in Go implementeren structs gebruiken.
Structuren zijn door de gebruiker gedefinieerde typen om andere gegevenstypen in één enkele entiteit te groeperen. Go-structuren kunnen waarden bevatten van elk door Go ondersteund type, en functies kunnen structs implementeren.
Zo kun je een struct declareren in Go:
type Spel structuur {
Naam snaar
Jaar int
Speeltijd vlotter64
Spelers elk
Landen kaart[snaar]snaar
}
De Spel struct heeft velden met de typen map, string, integer en floating point. U kunt structuren instantiëren met standaardwaarden of er waarden aan toewijzen.
var mko-spel // instantiëring van standaardwaarde
// instantiëren met waarden
mko := Spel{
Naam: "Waarde",
Jaar: 1231,
Speeltijd: 1345412,
Spelers: [2]snaar{"9", "spullen"},
gegevens: kaart[snaar]int{"een": 1, "twee": 2, "drie": 2},
}
Functies kunnen struct-typen implementeren en openen. U moet de parameter struct specificeren vóór de identifier van de functie.
func(g Spel)Vind spel(naam snaar) {
een := gr. Jaar // toegang tot struct-velden
var b = gr. Landen // toegang tot struct-velden
}
Wanneer u een struct doorgeeft aan een functie, heeft de functie toegang tot de velden van de struct en wordt de functie een struct-methode.
Go heeft veel use-cases
Je hebt de basis van de Go-programmeertaal en de syntaxis geleerd om Go-programma's te gaan schrijven.
Er zijn veel velden en toepassingen waar u Go kunt gebruiken. Go wordt in de volksmond gebruikt als server-side taal, en je kunt er ook altijd webgebaseerde applicaties mee bouwen.