Syntaxe de base
Chaînes de caractères et formatage
Une `string` en Go est une séquence de octets encodée en UTF-8, immuable : on ne peut pas modifier un caractère en place, on construit toujours une nouvelle chaîne. La concaténation se fait avec `+`.
firstName := "Ada"lastName := "Lovelace"fullName := firstName + " " + lastNamefmt.Println(fullName) // Ada Lovelace`fmt.Println` affiche des valeurs séparées par des espaces suivies d'un retour à la ligne. `fmt.Printf` (formaté) et `fmt.Sprintf` (retourne une string plutôt que d'afficher) utilisent des verbes commençant par `%` pour contrôler précisément la sortie.
name := "Ada"age := 36fmt.Printf("%s a %d ans\n", name, age)// Ada a 36 ans message := fmt.Sprintf("%s a %d ans", name, age)// message contient la chaîne, sans l'afficherLes verbes les plus utilisés : `%s` pour une chaîne, `%d` pour un entier, `%f` pour un nombre à virgule (`%.2f` pour deux décimales), `%t` pour un booléen, et `%v` qui affiche n'importe quelle valeur avec sa représentation par défaut. Ce dernier est très utile pour explorer une structure de données pendant le développement.
`go vet`, l'analyseur statique livré avec Go, détecte les incohérences entre les verbes utilisés dans `Printf` et les arguments fournis (par exemple `%d` sur une string). C'est une erreur fréquente qu'il vaut la peine de laisser l'outillage attraper pour toi.
À toi de jouer
Avec `city := "Paris"` et `temperature := 18.4`, utilise `fmt.Printf` pour afficher : `Paris : 18.4°C` avec une seule décimale.
package main import "fmt" func main() { city := "Paris" temperature := 18.4 // ton Printf ici}