Tangentbordsövning: Programmering i Go

stäng och börja skriva

Tangentbordsträning är betydelsefull för programmering. Du är mer effektiv med snabbskrivningstekniker för att skriva kod i programmeringsspråket Go.

Låt oss lära oss mer om Go språk och tangentbordsträning av kodning i Go.

Kodning i Go och tangentbordsträning

Att programmera i Go och skriva med tangentbordsträning hänger ihop. Go har strikta syntaxregler och specialtecken som kan vara svåra att skriva snabbt. Ett fel i en klammerparentes eller operator ger omedelbart 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 grupperas i block. Funktioner deklareras med func och avgränsas med klammerparenteser {}. Indrag är inte valfritt - Go genomdriver formatering med go fmt. Semikolon skrivs inte, men kompileraren lägger till dem automatiskt i slutet av rader.

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 `, kort tilldelningsoperator := och kanalpilen <-.

Variabler och deklarationer

Go skiljer mellan deklaration med var och kort tilldelning :=. 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

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

Go upprätthåller en enhetlig stil. Placeringen av klammerparenteser och radbrytningar spelar roll. Ett vanligt misstag är Enter direkt efter return.

Sammanfattning

De viktigaste tecknen i Go är klammerparenteser {}, parenteser (), hakparenteser [], operatorn := och kanalpilen <-. Att bemästra dem ger snabb och felfri kod.