Dnešní statistiky

Absolvovaná cvičení
-
Napsané znaky Napsaná slova
-
Čas cvičení
-

Celkové statistiky

Absolvovaná cvičení
-
Napsané znaky Napsaná slova
-
Čas cvičení
-

Lekce psaní všemi deseti: Programování v jazyce Go

Psaní všemi deseti je při programování důležité. Při psaní kódu v programovacím jazyce Go vám techniky rychlého psaní pomohou pracovat efektivněji.

Pojďme se dozvědět více o jazyce Go a psaní všemi deseti při programování v Go.

Programování v Go a psaní všemi deseti

Programování v Go a psaní všemi deseti spolu přirozeně souvisí. Go má přesně daná pravidla syntaxe a speciální znaky, které mohou být při rychlém psaní náročné. Psaní všemi deseti znamená psát bez dívání se na klávesnici a v kontextu jazyka Go je to důležité, protože jazyk vyžaduje přesnost: chybějící složená závorka nebo špatně napsaný operátor může způsobit chybu při kompilaci.

Co je charakteristické pro syntaxi Go?

Go je kompilovaný jazyk angl.: compiled language s čistým, minimalistickým stylem. Zdrojový kód vždy začíná deklarací package. Importy lze deklarovat jednotlivě nebo seskupit do bloků. Funkce se deklarují pomocí klíčového slova func a jejich rozsah vymezují složené závorky {}. Odsazení v Go neurčuje bloky; nástroj go fmt upravuje kód podle standardního formátování. Středníky se ve zdrojovém kódu obvykle vynechávají a překladač je podle konkrétních pravidel doplňuje na konci řádků. To znamená, že stisknutí klávesy Enter na správném místě není jen věcí estetiky, ale nutností v Go.

package main

import "fmt"

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

Znaky, na které je třeba si dávat pozor

Při psaní kódu v Go se často setkáte s určitými znaky. Složené závorky {} vymezují těla funkcí a bloky v řídicích strukturách. Kulaté závorky () obklopují parametry funkcí a volání. Hranaté závorky [] definují pole angl.: arrays a řezy angl.: slices. Uvozovky " a zpětné apostrofy angl.: backticks ` se používají pro řetězce. Operátor krátké deklarace := je běžný při vytváření proměnných. Kanály angl.: channels zavádějí operátor <-, který se v jiných jazycích téměř nevyskytuje a vyžaduje zvláštní pozornost.

Proměnné a deklarace

Na rozdíl od mnoha jazyků Go rozlišuje mezi deklarací pomocí var a krátkou deklarací proměnné pomocí :=. Tento operátor kombinuje dvojtečku a rovnítko, což může být nezvyklé, pokud ještě nejste zvyklí psát symboly rychle. Je dobré věnovat pozornost pohybu prstů - tento operátor se v programech Go objevuje neustále.

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

Řídicí struktury

Go používá příkazy if, for a switch. Neobsahuje while. Syntaxe je stručná, ale vyžaduje pečlivé psaní porovnávacích operátorů ==, !=, <, > a také operátoru inkrementace ++. Použití = místo == v podmínce způsobí chybu při kompilaci.

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

Funkce a vícenásobné návratové hodnoty

Funkce v Go mohou vracet více než jednu hodnotu. To je silná vlastnost, ale znamená to, že často píšete čárky v seznamech návratových hodnot a přiřazeních. Je dobré trénovat, dokud se psaní result, err := nestane automatickým.

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)

Řezy (slices), mapy a složené literály

Hranaté závorky [] a složené závorky {} se vyskytují velmi často při práci s poli, řezy a mapami. Mapy také používají dvojtečky : k oddělení klíčů a hodnot. Tyto znaky dohromady tvoří některé z nejsložitějších řádků na přesné napsání.

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

Struktury a metody

Typ struct v Go seskupuje data. Přidávání metod vyžaduje psaní závorek pro přijímače angl.: receivers a teček . pro přístup k polím nebo metodám. Po určité době se psaní těchto konstrukcí stane stejně automatické jako psaní klíčového slova func.

type User struct {
 Name string
}

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

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

Rozhraní

Rozhraní angl.: interfaces v Go jsou naplňována implicitně, bez klíčového slova jako implements. Jejich definice znamená psát další složené závorky a signatury metod. Je to malá část syntaxe, ale stojí za to naučit se ji psát plynule.

type Stringer interface {
 String() string
}

Souběžnost a kanály

Jedním z nejcharakterističtějších prvků Go je operátor kanálu <-. V mnoha jiných jazycích neexistuje a zpočátku se může zdát nepohodlný. Používáte ho oběma směry: pro odesílání ch <- value i pro přijímání value := <-ch. Trénink tohoto operátoru je důležitou součástí psaní v Go.

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

Řetězce (strings) a runy (runes)

Go používá dvojité uvozovky pro běžné řetězce, zpětné apostrofy angl.: backticks pro surové řetězce angl.: raw strings a jednoduché uvozovky pro runy (jednotlivé znaky, typ rune). Je snadné je při rychlém psaní zaměnit, ale kompilátor je velmi přísný. Je dobré věnovat zvláštní pozornost přepínání mezi ", ` a '.

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

Odsazení a formátování

gofmt sjednocuje formátování kódu. Při psaní musíte také dodržovat pravidla týkající se závorek a konců řádků. Častou chybou je stisk Enter na špatném místě, například mezi return a vracenou hodnotou. Go na konci tohoto řádku automaticky vloží středník a ukončí příkaz return. Jakmile si na tato pravidla zvyknete, rytmus psaní bude odpovídat očekávanému stylu Go.

Shrnutí

Programování v Go vyžaduje pozornost při psaní. Nejdůležitější znaky jsou složené závorky {}, kulaté závorky (), hranaté závorky [], operátor krátké deklarace := a šipka kanálu <-. Tyto symboly jsou všude v kódu Go. Procvičujte psaní těchto znaků, abyste získali jistotu při rychlém a přesném psaní kódu v Go.

Další text
Další lekce
Úkol Zpět k testu
go
Graf Skrýt