Touch metoden er betydelig i programmering. Du er mer effektiv ved å bruke hurtigskrivingsteknikker for å skrive kode i programmeringsspråket Go.
Programmering i Go og touch metoden
Å 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 gir straks 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 samles i blokker. Funksjoner defineres med func
og avgrenses med klammeparenteser {}
. Innrykk er obligatorisk - Go håndhever formattering med go fmt
. Semikolon skrives ikke, men legges automatisk inn av kompilatoren.
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 tildelingsoperatoren :=
og kanalpilen <-
.
Variabler og deklarasjoner
Go skiller mellom var
og kort tildeling :=
. 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 retur-lister 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
Dobbel anførsel for vanlige strenger, backticks for raw strings, og enkel anførsel for runes.
text := "normal string"
raw := `path\to\file`
r := 'a'
Innrykk og format
Go tvinger frem en enhetlig stil. Plasseringen av klammeparenteser og linjeskift er viktig. En vanlig feil er linjeskift rett etter return
.
Oppsummering
De viktigste tegnene i Go er klammeparenteser {}
, parenteser ()
, hakeparenteser []
, operatoren :=
og kanalpilen <-
. Å mestre disse gjør koding raskere og mer presist.