Dagens statistikk

Gjennomførte øvelser
-
Skrevne tegn Skrevne ord
-
Øvingstid
-

Samlet statistikk

Gjennomførte øvelser
-
Skrevne tegn Skrevne ord
-
Øvingstid
-

Øvelse i touchmetoden: Programmering i språket Go

Touchmetoden er viktig i programmering. Du er mer effektiv når du bruker hurtigskrivingsteknikker til å skrive kode i programmeringsspråket Go.

La oss lære mer om språket Go og touchmetoden når vi programmerer i Go.

Programmering i Go og touchmetoden

Å programmere i Go og bruke touchmetoden henger naturlig sammen. Go har strenge syntaksregler og spesialtegn som kan være vanskelige å skrive raskt. En feil i en klammeparentes eller en operator kan gi en kompilasjonsfeil.

Hva kjennetegner syntaksen i Go?

Go er et kompilert språk (engelsk: compiled language) med en ren og minimalistisk stil. Koden starter alltid med en package-deklarasjon. Imports kan deklareres enkeltvis eller samles i blokker. Funksjoner defineres med func og avgrenses med klammeparenteser {}. Innrykk avgrenser ikke blokker i Go; go fmt formaterer koden etter en felles standard. Semikolon utelates vanligvis i kildekoden og settes inn av kompilatoren ved linjeskift etter bestemte regler.

package main

import "fmt"

func main() {
 fmt.Println("Hello, Go")
}

Tegn du må passe på

Vanlige tegn i Go er klammeparenteser {}, parenteser (), hakeparenteser [], anførselstegn ", backticks `, den korte deklarasjonsoperatoren := og kanalpilen <-.

Variabler og deklarasjoner

Go skiller mellom var og kort variabeldeklarasjon :=. Den korte varianten brukes mye og er enkel å skrive, men krever nøyaktighet.

var count int = 10
message := "typed correctly"

Kontrollstrukturer

Go har if, for og switch. Det finnes ikke while. Operatorene ==, !=, <, > og ++ må tastes helt riktig.

for i := 0; i < 5; i++ {
 if i%2 == 0 {
 fmt.Println("even")
 }
}

Funksjoner og flere returverdier

Funksjoner kan returnere flere verdier. Dette betyr at komma ofte brukes i returlister og tildelinger.

func divide(a, b int) (int, error) {
 if b == 0 {
 return 0, fmt.Errorf("division by zero")
 }
 return a/b, nil
}

result, err := divide(10, 2)

Slices, maps og literaler

Hakeparenteser [] og klammeparenteser {} brukes mye. Maps bruker kolon : mellom nøkkel og verdi.

nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}

Structs og metoder

Typen struct grupperer data. Metoder defineres med en mottaker (receiver) og kalles med punktum ..

type User struct {
 Name string
}

func (u User) Greet() string {
 return "Hello " + u.Name
}

u := User{Name: "A"}
fmt.Println(u.Greet())

Grensesnitt

Interfaces i Go oppfylles implisitt, uten et nøkkelord som implements.

type Stringer interface {
 String() string
}

Samtidighet og kanaler

Kanalpilen <- er unik for Go. Den brukes både for å sende (ch <- value) og motta (value := <-ch).

ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch

Strenger og runes

Go bruker doble anførselstegn for vanlige strenger, backticks for raw strings, og enkle anførselstegn for runes.

text := "normal string"
raw := `path\to\file`
r := 'a'

Innrykk og format

gofmt formaterer koden i en enhetlig stil. Plasseringen av klammeparenteser og linjeskift er viktig. En vanlig feil er linjeskift mellom return og returverdien.

Oppsummering

De viktigste tegnene i Go er klammeparenteser {}, parenteser (), hakeparenteser [], operatoren := og kanalpilen <-. Å mestre disse gjør koding raskere og mer presist.

Neste tekst
Neste leksjon
Oppgave Tilbake til test
go
Kurve Skjul