Golang cheatsheet.
Golang Cheatsheet
Import un package depuis un projet en local :
1
|
go mod edit -replace=github.com/username/projet_importé=../projet_importé
|
Channels
Le select permet de gérer plusieurs cases simultanément, notamment :
- Ajouter un élément dans un channel
- Interrompre l’execution si le contexte est annulé
- Continuer son exécution et ne pas bloquer
1
2
3
4
5
6
7
8
9
|
select {
case stationChan <- station:
fmt.Println("Station envoyée")
case <-ctx.Done():
fmt.Println("Contexte annulé")
return
default:
fmt.Println("Channel plein, envoi ignoré")
}
|
Dans certains cas on ne veut pas continuer l’éxécution si le channel est plein, et on VEUT bloquer.
Dans ce cas il faut enlever le default, ou enlever le select.
1
2
3
4
5
6
7
8
9
10
11
12
|
select {
case stationChan <- station:
fmt.Println("Station envoyée")
case <-ctx.Done():
fmt.Println("Contexte annulé")
return
}
ou plus simplement
stationChan <- station:
fmt.Println("Station envoyée")
|