Plan du cours
Go dans son contexte : une comparaison
- Go vs Java, Python, C, et autres
- Principales philosophies de conception de Go
- Quand (et quand ne pas) utiliser Go
Concepts fondamentaux du langage
- Configurer un environnement de développement pour Go
- Variables, constantes et types
- Fonctions et valeurs de retour multiples
- Structures de contrôle : if, switch, for
- Tableaux, slices et maps
- Structs et emboîtement
- Méthodes et interfaces
- Comprendre les pointeurs dans Go
- Idiomes et modèles de gestion des erreurs
Concurrence dans Go
- Goroutines et le planificateur en temps d'exécution de Go
- Channels et transmission de messages
- Instructions select
- Modèles de concurrence (diffusion, regroupement, pools de travailleurs)
- Synchronisation (WaitGroups, Mutexes)
Utilisation des paquets standards et courants
- Travailler avec les paquets fmt, strings, time et math
- Entrées/sorties de fichiers avec os et io/ioutil
- Clients HTTP et serveurs avec net/http
- Analyse et codage JSON
Organisation des projets et modules Go
- Utilisation des modules Go pour la gestion des dépendances
- Organiser les paquets et fichiers
- Compiler et installer des applications Go
Outils de Go
- Utilisation de gofmt et go vet pour le formatage et la vérification du code
- Exécuter et écrire des tests unitaires avec go test
- Benchmarking et profilage avec go test -bench et pprof
- Déboguer avec Delve (optionnel)
Résumé et prochains pas
- Meilleures pratiques pour le développement en Go
- Aperçu des frameworks web de Go et de son écosystème
- Ressources pour la formation continue
Pré requis
- Connaissance d'un langage de programmation (par exemple C, Java, Python, PHP, etc.).
- Ce cours ne détaille pas les concepts de base comme les boucles ou les instructions conditionnelles — il se concentre sur la façon dont ces concepts sont implémentés en Go.
Public cible
- Développeurs logiciels familiers avec d'autres langages de programmation
- Développeurs backend en transition vers Go
- Ingénieurs travaillant sur des applications cloud-native ou critiques pour la performance
Nos clients témoignent (7)
Mohamed est quelqu'un de très pédagogue. Il prend vraiment le temps de faire des explications claires et parvient à faire le parallèle avec d'autres langages de programmation.
Remi - Focus Engineering SRL
Les exercices pratiques qui étaient vraiment divertissants.
Jurgen Cruz - Focus Engineering SRL
Formation - Go Programming Language for Programmers
Traduction automatique
Le formateur connaissait les concepts de la langue de niche et avait une perspective historique sur la façon dont la langue a évolué depuis sa date de publication initiale.
Brandon - DuosTechnologies, Inc.
Formation - Go Programming Language for Programmers
Traduction automatique
Le niveau de détail de la mécanique du pourquoi et du comment d'une chose était utile. J'ai aussi beaucoup apprécié d'avoir le repo à tirer le jour même pour pouvoir me concentrer sur ce qu'il expliquait.
Sara - DuosTechnologies, Inc.
Formation - Go Programming Language for Programmers
Traduction automatique
La manière didactique de présenter
Ivo Abdul - CEDSIF Ministry of Finance
Formation - Go Programming Language for Programmers
Traduction automatique
Concepts de plage, de tranche, d'échanges,...
Edmundo Manave - CEDSIF Ministry of Finance
Formation - Go Programming Language for Programmers
Traduction automatique
La simplicité du langage et les exemples donnés par l'enseignant
Alvaro Salomao Rumbane - CEDSIF Ministry of Finance
Formation - Go Programming Language for Programmers
Traduction automatique