Dans vos locaux
Pour ancrer les apprentissages et encourager la dynamique collective.
Maîtrisez les fondamentaux de Go : typage statique, structs, interfaces, gestion d'erreurs et programmation concurrente avec les goroutines et les channels pour construire des applications performantes.
package main
import (
"fmt"
"net/http"
"time"
)
func ping(url string, ch chan<- string) {
start := time.Now()
resp, err := http.Get(url)
if err != nil {
ch <- fmt.Sprintf("%s : erreur", url)
return
}
defer resp.Body.Close()
ch <- fmt.Sprintf("%s : %v", url, time.Since(start))
}
func main() {
ch := make(chan string)
urls := []string{
"https://go.dev",
"https://pkg.go.dev",
}
for _, u := range urls {
go ping(u, ch)
}
for range urls {
fmt.Println(<-ch)
}
}Go (ou Golang) est un langage compilé, créé par Google, qui se distingue par sa simplicité syntaxique, sa rapidité d'exécution et son support natif de la programmation concurrente. Cette formation vous accompagne dans la prise en main du langage : types de base, fonctions, structs, interfaces, gestion d'erreurs idiomatique et organisation de projets avec les modules Go. Vous plongerez ensuite dans le cœur de Go avec les goroutines et les channels, qui permettent d'écrire des programmes concurrents de manière lisible et sûre. À travers des exercices pratiques (API HTTP, outils en ligne de commande, traitement parallèle de données), vous apprendrez à exploiter la puissance de Go pour construire des services backend robustes et hautement performants.
Les objectifs
Installer et configurer un environnement de développement Go.
Écrire, compiler et exécuter des programmes simples et idiomatiques en Go.
Manipuler les types, structures, fonctions et composer des packages réutilisables.
Gérer les erreurs et comprendre les bonnes pratiques propres à Go.
Concevoir des routines concurrentes et synchronisées à l’aide de goroutines et de canaux.
Public visé
Développeurs débutants en Go souhaitant acquérir une base solide.
Développeurs confirmés dans un autre langage souhaitant élargir leurs compétences vers Go.
Participants impliqués dans des projets nécessitant des applications backend performantes ou des traitements concurrents.
Prérequis
Connaissances de base en programmation structurée (variables, conditions, boucles) avec n’importe quel langage.
Compréhension minimale des concepts de compilation et de fichiers source.
Pour ancrer les apprentissages et encourager la dynamique collective.
Pour allier flexibilité et interactions en temps réel avec le formateur.
Pour favoriser la concentration, les échanges et le confort des apprenants.