Strojopis je významný v programovaní. Na písanie kódu v programovacom jazyku Go budete efektívnejší používať techniky rýchleho písania.
Programovanie v jazyku Go a strojopis
Programovanie v Go a strojopis prirodzene súvisia. Go má prísne pravidlá syntaxe a špeciálne znaky, ktoré môžu byť náročné na rýchle písanie. Chýbajúca zložená zátvorka alebo operátor okamžite vedú k chybe pri kompilácii.
Čo je charakteristické pre syntaxi Go?
Go je kompilovaný jazyk angl.: compiled language s čistým a minimalistickým štýlom. Kód vždy začína deklaráciou package. Importy sú zoskupené do blokov. Funkcie sa deklarujú pomocou kľúčového slova func a obmedzujú sa zloženými zátvorkami {}. Odsadenie nie je voliteľné - Go presadzuje formátovanie pomocou go fmt. Bodkočiarky sa bežne nepíšu, ale prekladač ich automaticky vkladá na koniec riadkov.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
Dôležité znaky
V Go kóde sa často vyskytujú zložené zátvorky {}, okrúhle (), hranaté [], úvodzovky ", backticks `, operátor krátkej deklarácie := a šípka kanálov <-.
Premenné a deklarácie
Go rozlišuje medzi deklaráciou var a krátkym priradením :=. Tento operátor kombinuje dva symboly a používa sa veľmi často.
var count int = 10
message := "typed correctly"
Riadiace štruktúry
Go používa if, for a switch. Neexistuje while. Operátory ==, !=, <, > a ++ treba písať presne.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
Funkcie a viacnásobné návratové hodnoty
Funkcie môžu vracať viac hodnôt. To znamená časté použitie čiarky v zoznamoch návratov aj pri priradeniach.
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, mapy a literály
Hranaté [] a zložené {} zátvorky sú veľmi časté. Mapy používajú dvojbodku : medzi kľúčom a hodnotou.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
Structs a metódy
Typ struct zoskupuje údaje. Metódy majú receiver a volajú sa bodkou ..
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
Interfejsy
Interfejsy angl.: interfaces v Go sa implementujú implicitne, bez kľúčového slova ako implements.
type Stringer interface {
String() string
}
Konkurentnosť a kanály
Operátor kanála <- je špecifický pre Go. Používa sa na odosielanie (ch <- value) aj prijímanie (value := <-ch).
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
Reťazce a runy
Dvojité úvodzovky sú pre bežné reťazce, backticks pre raw strings a jednoduché úvodzovky pre runy.
text := "normal string"
raw := `path\to\file`
r := 'a'
Odsadenie a formátovanie
Go vyžaduje jednotný štýl. Umiestnenie zátvoriek a zalomení riadkov je dôležité. Častá chyba je zalomenie riadku hneď po return.
Zhrnutie
Najdôležitejšie znaky v Go sú: zložené zátvorky {}, okrúhle (), hranaté [], operátor := a šípka kanála <-. Osvojenie si ich presného písania je kľúčom k rýchlemu a bezchybného kódu.