Dagens statistik

Avslutade övningar
-
Skrivna tecken Skrivna ord
-
Tid för träning
-

Övergripande statistik

Avslutade övningar
-
Skrivna tecken Skrivna ord
-
Tid för träning
-

Tangentbordsövning: Programmering i Go

Tangentbordsträning är betydelsefull för programmering. Du blir effektivare när du använder snabbskrivningstekniker för att skriva kod i programmeringsspråket Go.

Låt oss lära oss mer om språket Go och tangentbordsträning när vi kodar i Go.

Kodning i Go och tangentbordsträning

Du kan kombinera programmering i Go med tangentbordsträning. Go har strikta syntaxregler och specialtecken som kan vara svåra att skriva snabbt. Ett fel i en klammerparentes eller operator kan ge ett kompileringsfel.

Vad är typiskt för Go-syntaxen?

Go är ett kompilerat språk (engelska: compiled language) med en ren, minimalistisk stil. Koden börjar alltid med en package-deklaration. Importer kan deklareras var för sig eller samlas i block. Funktioner deklareras med func och avgränsas med klammerparenteser {}. Indrag avgränsar inte block i Go; go fmt formaterar koden enligt en gemensam standard. Semikolon utelämnas oftast i källkoden och kompilatorn infogar dem vid radbrytningar enligt särskilda regler.

package main

import "fmt"

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

Tecken att ha koll på

Vanliga tecken i Go är klammerparenteser {}, parenteser (), hakparenteser [], citattecken ", backticks `, den korta deklarationsoperatorn := och kanalpilen <-.

Variabler och deklarationer

Go skiljer mellan deklaration med var och kort variabeldeklaration :=. Den senare kombinerar två symboler och används ofta.

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

Styrstrukturer

Go har if, for och switch, men inget while. Jämförelseoperatorerna ==, !=, <, > samt ++ måste skrivas exakt.

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

Funktioner och flera returvärden

Funktioner kan returnera flera värden. Det innebär frekventa komman i returlistor och tilldelningar.

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 och litteraler

Hakparenteser [] och klammerparenteser {} syns överallt. Maps använder kolon : mellan nyckel och värde.

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

Structs och metoder

Typen struct grupperar data. Metoder har en mottagare (receiver) och anropas med punkt ..

type User struct {
 Name string
}

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

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

Gränssnitt

Gränssnitt (engelska: interfaces) uppfylls implicit i Go, utan ett nyckelord som implements.

type Stringer interface {
 String() string
}

Samtidighet och kanaler

Kanalpilen <- är typisk för Go. Den används för både sändning (ch <- value) och mottagning (value := <-ch).

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

Strängar och runer

Go använder dubbla citattecken för vanliga strängar, backticks för raw strings och enkla citattecken för runer.

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

Indrag och formatering

gofmt formaterar koden i en enhetlig stil. Placeringen av klammerparenteser och radbrytningar spelar roll. Ett vanligt misstag är Enter mellan return och returvärdet.

Sammanfattning

De viktigaste tecknen i Go är klammerparenteser {}, parenteser (), hakparenteser [], operatorn := och kanalpilen <-. Öva på att skriva dessa tecken för att få mer vana vid att skriva Go-kod snabbt och noggrant.

Nästa text
Nästa lektion
Uppgift Tillbaka till testet
go
Graf Dölj