Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

118 total results found

Introduction

Go Cours

Qui a fait le Go ? Go (ou Golang) est un langage de programmation open source assez jeune. Il a été développé en 2007 par Robert Griesemer, Rob Pike et Ken Thompson qui travaillent aujourd'hui chez Google. Le langage Go est officiellement lancé en novembr...

Les bases

Go Cours

Clean architecture Go Le playground https://play.golang.org/ Bonjour monde package main import "fmt" func main() { fmt.Println("Hello, World!") } Les types Langage fortement typé, avec possibilités de faire de l'inférence. On peut dé...

Tests & Boucles

Go Cours

Les combinaisons et opérateurs booléens Comparaisons == != < > >= >= Opérateurs booléens && || ! If age := 10 if age > 10 { // something } Conditions alternatives age := 10 if age > 10 { // something } else if a > 5 { // s...

Tableaux

Go Cours

Tableaux à taille fixe Définition Simplement Un tableau à taille fixe est une séquence d'éléments d'une taille définie Tout est alloué d'un seul bloc ➡️ les cases sont contiguës en mémoire Le premier index démarre à 0. La taille est définitive, pour agr...

Les fonctions

Go Cours

func printInfoNoParam() { fmt.Printf("Name=%s, age=%d, email=%s\n", "Bob", 10, "bob@golang.org") } func printInfoParams(name string, age int, email string) { fmt.Printf("Name=%s, age=%d, email=%s\n", name, age, email) } func avg(x, y float64) float64 { re...

Range

Go Cours

C'est la continuité du for, il permet d'itérer sur une collection de donnée Syntaxe for <index>, <value> := <dataset> { //code } Exemple names := []string{"Bob", "Alice", "Bobette", "John"} for i, n := range names { fmt.Printf("Username=%s (index...

Gestion d'erreurs

Go Cours

Gestion d'erreurs dans les langages Il y a plusieurs stratégies possibles : Code d'Erreurs Exceptions Pattern Matching ... Go et le retour multiple En Go, nous allons exploiter le retour multiple des fonctions pour gérer nos erreurs Exemple classiq...

Fichiers

Go Cours

Pour manipuler un fichier en Go, il existe plusieurs librairies permettant différentes actions. io/ioutil C'est sans doute l'approche la plus simple pour manipuler un fichier. Elle permet de directement lire un répertoire ou le contenu d'un fichier, et même d'...

Defer

Go Cours

Repousser l'exécution d'une instruction Cas d'utilisation Dans l'exemple si dessous func main() { f := os.OpenFile("foo.txt") if condition1 { return // Oops...! pas de close ici! } // code f.Close() } Le f.close() peut être très éloigné dan...

Kata Find and Replace

Go Cours

Énoncé Programme qui trouve et remplace un mot par un autre dans un fichier. Exemple Remplacer le mot Go par Python Source: wikigo.txt Résultat Go was conceived in 2007 to improve programming productivity at Google Python was conceived in ...

Structures & Pointeurs

Go Cours

Définition SimplementType personnalisé représentant une collection de champs Syntaxe type <NomStruct> struct { var1 int var2 string var3 float64 } Exemple type User struct { Name string Email string Age int } Déclaration Il y a 3 types...

Maps

Go Cours

Définition Structure associant des clés à des valeurs On peut mettre en clé tout ce qui est comparable (on peut mettre une structure comme clé) Syntaxe La syntaxe “longue” de déclaration d’une map est la suivante : var m map[KeyType]ValueType -----------...

Introduction à Gin

Go Gin Framework

Repo github des exercices Présentation de Gin Gin est un framework web HTTP écrit en Go. Il dispose d'une API de type Martini, mais avec des performances jusqu'à 40 fois plus rapides que Martini. Si vous avez besoin de performances époustouflantes, procurez...

Installation

Go Gin Framework

Dans le cadre de cette explication, j’utiliserais l’IDE Goland, donc il se peut que certaines choses soient simplifiés par l’IDE, et d’autres que je doive faire spécifiquement par rapport à cet IDE Nouveau projet Tout d’abord, nous allons créer un nouveau pr...

Live reload

Go Gin Framework

Recompiler notre code à chaque fois que l’on change notre code, arrêter le serveur et le relancer… Tout ça est long et fastidieux ! Surtout pendant le développement ! En nodeJS certains se souviendrons de nodemon qui permettait de surveiller les changements ...

Restful API Server

Go Gin Framework

Simple Server GitHub repo Pour utiliser Gin, il suffit d’importer github.com/gin-gonic/gin au niveau de son fichier main et de créer une variable qui va contenir notre fameux routeur. package main import "github.com/gin-gonic/gin" func main() { rout...

Static server

Go Gin Framework

GitHub repo Dans certains cas, on souhaite juste héberger un site statique. On pourrait se tourner vers apache ou nginx mais ce n’est pas ce que nous recherchons 😉 Il est possible assez facilement grâce à Gin de rendre accessible notre site statique. Pour ...

Reverse proxy

Go Gin Framework

Reverse proxy simple GitHub repo Le reverse proxy est quelque chose de majoritairement utilisé aujourd'hui. Dans beaucoup de cas d'utilisation, on utilise des outils tels que Nginx, Apache, Caddy uniquement pour faire du reverse proxy. Mais avec Gin, on pe...

GTK

C

Présentation Nous allons voir comment développer une application GTK en C à l'aide de CMake ou Makefile, que ce soit sur Linux, et même Windows (avec MSYS2 et même WSL !) GTK (The GIMP Toolkit, anciennement GTK+) est un ensemble de bibliothèques logicielles,...

Les bases

Docker Introduction & Installation

Architecture Réseau Docker Networking Compose Swarm