Go (Golang) programmeertaal: Wat is het en wat kan je ermee?

Ben je nieuwsgierig naar de programmeertaal Go (Golang)? Lees dan verder om meer over Go te weten. We gaan onder andere kijken naar wat Go is en wat je ermee kan. Interessant is om ook eens naar codevoorbeelden te kijken. Jij kan ook met Go aan de slag gaan als je wil!

Ja, ik wil meer leren over Go (Golang)!

Wat is Go (Golang) en wat kan je ermee?

In 2007 is de programmeertaal Go ontwikkeld door Google. De programmeertaal staat ook wel bekend als Golang, vandaar dat je deze benaming ook in het artikel zal terugvinden.

Tegenwoordig zie je in veel lijstjes met “Veelbelovende programmeertalen voor de toekomst” Go terugkomen. Dit geeft wel aan dat veel developers en bedrijven toekomst zien in Go.

De programmeertaal is eigenlijk ontwikkeld uit frustratie door de developers van Google, die ze hadden met bestaande programmeertalen. Google miste een goede programmeertaal die zowel simpel, betrouwbaar als efficiënt is. Daarom is Google Go gaan ontwikkelen, die wel aan deze eisen kan voldoen.

Op de eigen website van Go staat dat het een open source programmeertaal is die het makkelijk maakt om simpele, betrouwbare en efficiënte software te maken. Dit sluit aan op datgene wat de developers van Google mistten in andere programmeertalen.

Go is een procedurele programmeertaal. Simpel gezegd, procedureel programmeren is het opstellen van een “lijst” aan instructies onder elkaar, die stap voor stap aan de computer vertellen wat het moet doen bij een bepaalde taak.

Om een Go programma uit te voeren, hoef je niet perse software te downloaden. Bijvoorbeeld op “The Go Playground” is het al mogelijk om te oefenen met Go. Wil je serieuzer met Go aan de slag, dan is het wel aan te raden om een goede text editor of IDE (Integrated Development Environment) en een Go compiler te downloaden.

Er zijn verschillende dingen die je met Go zou kunnen doen. Go is een programmeertaal voor algemeen gebruik en daarom kan je er veel mee doen. Laten we eens gaan kijken naar wat mogelijkheden:

  • Web scraping
  • Server development
  • Microservices
  • Web development
  • API development

Golang logo

Voorbeelden van bedrijven die gebruik maken van de programmeertaal Go

Natuurlijk gebruikt Google Golang, omdat het de programmeertaal zelf heeft ontwikkeld. Daarnaast is het leuk om eens te kijken naar andere grote bedrijven die Golang gebruiken. Zo kan je ook zien of de programmeertaal leeft en serieus genomen wordt.

Netflix

Netflix kent iedereen tegenwoordig wel. De Netflix applicatie maakt gebruik van Golang in verschillende onderdelen van de server-architectuur.

Het geeft wel aan dat Golang een goede programmeertaal is, als een bedrijf als Netflix er gebruik van maakt. De miljoenen gebruikers moeten gebruik kunnen maken van goede software en Golang hoort daarbij.

Netflix logo

Dropbox

Dropbox, de online opslagplaats in de cloud, maakt gebruik van Golang. Dropbox is een groot bedrijf met honderden miljoenen gebruikers.

In het systeem zijn er verschillende componenten overgezet van Python naar Golang.

Dropbox logo

Twitch

Twitch is wereldwijd het grootste live streaming platform voor gamers. Dagelijks heeft Twitch meer dan 15 miljoen gebruikers.

Verschillende onderdelen in het systeem van Twitch zijn geschreven in Golang, onder andere om de gebruikers te voorzien van de best mogelijke video kwaliteit en ervaring.

Twitch logo

Voor- en nadelen van Go

Elke programmeertaal heeft zijn voor- en nadelen. Go is daar geen uitzondering op. Laten we eerst kijken naar belangrijke voordelen van Go.

Voordelen

  • Makkelijk om te begrijpen
  • Veilig
  • Snel
  • Goede Standard Library
  • Garbage collection
  • Static typing
  • Interface types
  • Makkelijker concurrency model

Nadelen

  • Nog geen echte niche gevonden, zoals dat bijvoorbeeld Python bekend staat als goede programmeertaal om data analyse en visualisatie mee uit te voeren
  • Moeilijke community
  • Geen generics
  • Weinig ondersteuning van libraries

De meeste nadelen komen eigenlijk doordat Go nog een jonge programmeertaal is. Naarmate Go gaat groeien, zullen veel nadelen gaan verdwijnen. Het is wel echt een programmeertaal om rekening mee te houden voor de toekomst.

Ja, ik wil meer leren over Go (Golang)!

Verschillen tussen Go en Python

De laatste tijd wordt Golang steeds meer als een alternatief gezien voor Python. Verschillende bedrijven switchen in bepaalde onderdelen van een systeem van Python naar Golang, zoals Dropbox ook heeft gedaan. Laten we daarom kijken naar belangrijke verschillen tussen Go en Python:

  • Go is meer geschikt voor systemen dan Python
  • Met Python kan je object georiënteerd programmeren en met Go niet
  • Go ondersteunt interfaces en Python niet
  • Go maakt gebruik van een compiler en Python van een interpreter
  • Go ondersteunt volledig concurrency en Python niet
  • Python ondersteunt exceptions en Go niet

Go codevoorbeelden

Laten we gaan kijken naar 3 codevoorbeelden in de programmeertaal Go. We houden het simpel. Eerst beginnen we met een “Hello World!” voorbeeld, daarna gaan we kijken hoe een if-else statement en een function eruit zien in Go.

Als je al bekend bent met andere programmeertalen, zullen deze basisonderdelen je zeker bekend voorkomen. Deze basisonderdelen komen ook terug in het e-book “Snelcursus Leren Programmeren”. Indien je nog geen tot weinig programmeerervaring hebt, is “Snelcursus Leren Programmeren” echt een aanrader!

Hello World!

package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}

Je ziet gelijk al dat er meer code bij Golang nodig is dan bijvoorbeeld bij Python om een “Hello World!” in de console te printen. Dat komt vooral door de package declaration en import. Ook moet het statement waarin “Hello World!” naar de console gestuurd wordt in de main() function staan.

package main is een package declaration en import "fmt" is bedoeld om de “fmt” package te importeren. func wordt gebruikt in Golang om een function aan te maken. De main() function wordt als eerste aangeroepen wanneer het programma wordt uitgevoerd.

Tot slot wordt “Hello World!” naar de console gestuurd, doordat de Println function wordt aangeroepen via de fmt package. In de Println function staat “Hello World!” als argument.

Voor degenen die al (wat) ervaring hebben met programmeren, zal deze uitleg appeltje eitje zijn. De syntax is misschien anders dan je gewend bent met andere programmeertalen, maar de werking komt op hetzelfde neer. Als je dit nog niet helemaal begrijpt, zou ik eerst het e-book “Snelcursus Leren Programmeren” lezen, om de basis van het programmeren te begrijpen.

If-else statement

package main

import "fmt"

func main() {
    if 10 > 5 {
        fmt.Println("Dat klopt!")
    } else {
        fmt.Println("Dat klopt niet!")
    }
}

Hier een simpele if-else statement in Golang. 10 is groter dan 5, dus komt er “Dat klopt!” uit. De if-else statement lijkt vrijwel hetzelfde als in veel andere programmeertalen, zoals Java. Opvallend is wel dat er geen haakjes nodig zijn bij de voorwaarde (10 > 5) in regel 6.

Ook opvallend is dat er in de programmeertaal Go geen puntkomma ; nodig is achter statements, in veel andere programmeertalen, zoals Java en C# is dat wel vereist. In het “Hello World!” voorbeeld zal dat je misschien ook al opgevallen zijn.

Function

package main

import "fmt"

func persoonsGegevens(naam, woonplaats string) {
    fmt.Println("Mijn naam is", naam, "en ik woon in", woonplaats)
}

func main() {
    persoonsGegevens("Henk", "Utrecht")
}

In de vorige voorbeelden heb je natuurlijk al de main() function voorbij zien komen, dus je hebt al een beetje een idee hoe een function werkt in Golang.

Vooral opvallend in dit voorbeeld is dat je maar één keer een type declaration hoeft te doen, als de parameters in een function van dezelfde type zijn. Dit zie je terug in regel 5. De type string staat achter de parameters.

Verder is de basiswerking van de function zoals in veel andere programmeertalen. In de main() function in regel 10, roep je de persoonsGegevens() function aan. Je geeft arguments mee, de parameters krijgen de waardes van de arguments. Op deze manier worden de waardes in de string gestopt in de Println() function, die staat in de persoonsGegevens() function. Bij het uitvoeren van het programma krijg je het zinnetje te zien met de juiste waardes.

Wil je meer leren over Golang en meer de diepte ingaan? Dan is het aan te raden om het volgende hoofdstuk te lezen.

Ga zelf aan de slag met Go

Ben je nieuwsgierig geraakt en wil je zelf aan de slag met de programmeertaal Go (Golang)? Dat is mooi, want dat kan zeker! Go is een programmeertaal om rekening mee te houden voor de toekomst en zal zeker veel verder gaan groeien.

Jij kan daar alvast op inspringen en met Go aan de slag gaan. Pluralsight is een heel gaaf platform waarop je veel videocursussen over Go kan volgen. Niet alleen maar volg je cursussen, maar je hebt ook de mogelijkheid om echt zelf Go code te schrijven en programma’s te maken.

Pluralsight logo

In “Pluralsight review en ervaringen” staat een uitgebreide review over het platform en mijn persoonlijke ervaringen. Je kan het platform zelfs 10 dagen helemaal gratis uitproberen.

De verwachting is dat Go nog veel groter gaat worden en daarmee dus ook de vraag naar Go developers gaat stijgen. Kennis over Go kan van grote waarde zijn.

Heb je nog vragen en/of opmerkingen? Laat dan hieronder een reactie achter of neem contact op.

Plaats een reactie