Tangentbordsträning är betydelsefull för programmering. Du är mer effektiv med snabbskrivningstekniker för att skriva kod i programmeringsspråket 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.