Les réglages de frappe n'ont pas pu être actualisés. Recharge la page pour réessayer.
Exercice de dactylographie: Programmation en langage Go
Les règles de calcul de la précision ont changé. Cet exercice recommence depuis le début.
L'enregistrement de votre session terminée n'a pas pu être confirmé. Réessayez de l'enregistrer sans retaper le texte.
Exercice de dactylographie: Programmation en langage Go
La dactylographie est importante en programmation. Vous êtes plus efficace en utilisant des techniques de saisie rapide pour écrire du code dans le langage de programmation Go.
Programmation en Go et dactylographie
Programmer en Go et pratiquer la dactylographie vont de pair. Go impose une syntaxe stricte et utilise des caractères spéciaux qui peuvent poser des difficultés lorsqu'on tape rapidement. Une accolade manquante ou un opérateur mal écrit peut provoquer une erreur de compilation.
Qu'est-ce qui caractérise la syntaxe de Go ?
Go est un langage compilé (anglais : compiled language) au style clair et minimaliste. Le code commence toujours par une déclaration package. Les imports peuvent être déclarés séparément ou regroupés en blocs. Les fonctions se déclarent avec le mot-clé func et utilisent des accolades {}. L'indentation ne délimite pas les blocs en Go ; go fmt applique une mise en forme standard. Les points-virgules sont généralement omis dans le code source et le compilateur les insère aux sauts de ligne selon des règles précises.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
Caractères importants
On rencontre souvent dans le code Go les accolades {}, les parenthèses (), les crochets [], les guillemets ", les backticks `, l'opérateur de déclaration courte := et l'opérateur de canal <-.
Variables et déclarations
Go distingue var et la déclaration courte :=. Cet opérateur combine deux symboles et revient en permanence dans le code.
var count int = 10
message := "typed correctly"
Structures de contrôle
Go propose if, for et switch. Go n'a pas d'instruction while. Les opérateurs de comparaison ==, !=, <, > et l'incrément ++ doivent être tapés avec précision.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
Fonctions et retours multiples
Une fonction peut retourner plusieurs valeurs. Cela implique des virgules supplémentaires dans les listes de retour et les affectations.
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 et littéraux composés
Les crochets [] et les accolades {} reviennent souvent. Les maps utilisent aussi les deux-points : entre clés et valeurs.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
Structs et méthodes
Le type struct regroupe des données. Les méthodes se déclarent avec un receiver et s'appellent avec le point ..
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
Interfaces
Les interfaces sont satisfaites implicitement, sans mot-clé comme implements.
type Stringer interface {
String() string
}
Concurrence et canaux
L'opérateur de canal <- est spécifique à Go. Il sert autant à envoyer (ch <- valeur) qu'à recevoir (valeur := <-ch).
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
Chaînes et runes
Go utilise les guillemets doubles pour les chaînes, les backticks pour les raw strings et les guillemets simples pour les runes.
text := "normal string"
raw := `path\to\file`
r := 'a'
Indentation et formatage
gofmt applique une mise en forme uniforme au code. Les accolades et les retours à la ligne doivent être placés correctement. Une erreur fréquente est un appui sur Enter entre return et la valeur renvoyée.
Résumé
En Go, les caractères essentiels sont : accolades {}, parenthèses (), crochets [], opérateur := et flèche de canal <-. Entraînez-vous à les taper pour gagner en aisance et en précision lors de la saisie de code Go.