Développeur FullStack & Devops

Notes et mémos techniques

Golang

la mascotte Go gopher origines du Go gopher

Le Go, ou Golang, est un language de programmation open source developpé par Google.

Environnement de développement

Installer l'executable go via apt, chocolatey ou en téléchargeant le binaire depuis le site officiel.

Les premières commandes à tapper :

go mod init nom-de-mon-projet
go build hello.go                # permet de compiler le code
go run hello.go                  # compile + run

Visual Studio

L'extension VSCode permet d'avoir a dispo toutes les commandes utiles du CLI go via la command palette CTRL + SHIFT + P.

Coder en Go

Déclaration de package

Chaque programme démarre par un package declaration qui permet de spécifier au compilateur le type d'artefact que l'on souhaite produire, par exemple un executable avec package main

Import de package

Import de package ex: import "fmt" et possibilité d'importer plusieurs package en avec une meme instruction (ici en aliasant les packages):

import (
	f "fmt"
	t "time"
)

Commentaires

On utilise les classiques // pour un commentaire sur 1 ligne ou /* */ pour les commentaires multilignes.

De plus il est conseillé d'ajouter un commentaire de package, qui pourra etre extrait par Godoc.

Types et Variables

Named vs UnNamed

Les "chaines de caractères" ou les nombres sont appelés des literals et peuvent etre utilisés tel quel dans du code (sont donc en quelque sorte des unnamed values) pour des opérations (pour les nombres) ou des traitements.

Les named values d'un autre coté sont des constantes ou des variables :

const unTextQuelconque = "Hello toto !"

Les variables sont initialisées automatiquement : 0, "" ou false

Nombres

Les variables numériques peuvent etre catégorisé en : int, float, and complex

var uneVarNum uint8 // déclaration seule
uneVarNum = 10

uneAutreVarInt := 0 // déclaration et initialisation d'une variable avec inférence de type
var uneDerniereBool = true // autre syntaxe pour l'inference

var magicNum, powerLevel int32 // déclaration multiple
unTexte, unBooleen := "blah blah blah", true

Documentation en ligne

la commande go doc permet d'obtenir de l'aide sur un package ou un membre d'un package:

go doc fmt             # affichera l'intégralité de la doc du package fmt
go doc fmt.formatter   # affichera la doc du type Formatter

Liens

Concernant le poid des binaires générés en Go

pogrammation
golang
go
tuto
rédigé le 08/03/22 par Behrouze
A proposCheat SheetsOutilsVidéos