Programmeren in Go/Variabelen en constanten

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Programmeren in Go 100 percent.svg

Commentaar
Pakketten
Variabelen en constanten
Assignments
For
Switch
Functies
Defer
Arrays
Slices
Methodes
Types
Goroutines
Channels
Select

Variabelen en constanten

Het declareren van variabelen en typen gaat in Go behoorlijk anders dan in de meeste talen. Typen worden achteraf gedeclareerd, na de namen. Dit is duidelijk te zien in het volgende voorbeeld.

var a int // Variabele a heeft type int. Let op: een puntkomma als einde voor een statement is voor Go niet noodzakelijk (mag wel)

var b, c, d, e int32 = 5, 7, 10, 4  // b, c, d en e hebben allemaal type int32, een regel mogen meerdere variabelen declareren. Let op int32 is niet hetzelfde als int

const r int = 5 // r is een constante

var f = 5 // Type int. Types worden automatisch toegewezen aan getallen en strings

var g string = "Go go go!"

var (
    h int;
    i string;
    j int32 = 45;
    k, l, m = "GOOG", 43, 1.0
) // Gebruik van haakjes is heel handig bij declareren van veel variabelen, puntkomma's zijn verplicht als scheidingsteken! Haakjes kunnen ook bij sleutelwoorden const en type gebruikt worden

const (
  Maandag, Dinsdag, Woensdag = 1, 2, 3;
  Donderdag, Vrijdag, Zaterdag = 4, 5, 6;
)

//Let op, dit mag alléén binnen functies!
func functies() {
    n := 4 // Dit is een speciale korte dynamische declaratie voor variabelen

    o := functie0() // Korte notatie is ook erg handig bij aanroepen functies

    p, q, r := 5.7, 100, "Kort"
}


Merk op dat er aandacht besteed is aan het zo kort mogelijk opschrijven van meerdere variabelen. De laatste constanten kunnen bijvoorbeeld door een programma verkleind worden tot

const(a,b,c,d,e,f=9,7,10,8,5,2)

Dat is natuurlijk geen toeval. Grote programma's moeten zo snel mogelijk over een netwerk verstuurd worden, daar helpt een korte notatie natuurlijk goed bij! Hier zal ook bij de volgende concepten goed over nagedacht zijn!

Tot slot, de numerieke types zijn:

int uint float int8 uint8 of byte int16 uint16 int32 uint32 float32 int64 uint64 float64

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.