Formater une chaîne sans imprimer dans Golang

Jay Singh 26 aout 2022
Formater une chaîne sans imprimer dans Golang

Le Printf est sans doute l’implémentation la plus courante de toute variable formatée sous forme de chaîne. Golang a une technique simple pour formater une chaîne sans l’imprimer.

La fonction Sprintf() du package fmt dans Go peut être utilisée pour ce faire. La seule différence entre Printf() et Sprintf() est que Printf() formate et imprime le message, tandis que Sprintf() formate simplement le message.

Utilisez la fonction Sprintf() pour formater une chaîne dans Golang

Les fonctions de formatage formatent la chaîne en fonction des spécificateurs de format qui leur sont envoyés.

package main

import (
    "fmt"
)

func main() {
    name := "Jay"
    age := 23

    res := fmt.Sprintf("%s is %d years old", name, age)
    fmt.Println(res)
}

Production:

Jay is 23 years old

Un autre exemple est la méthode sprintf() du package fmt qui formate une chaîne et renvoie la chaîne de sortie.

package main

import (
    "fmt"
)

func main() {
    name := "Jay"
    country := "India"

    str := fmt.Sprintf("%s is from %s\n", name, country)

    fmt.Println(str)

    name = "Mike"
    age := 20

    str = fmt.Sprintf("%s is %d\n", name, age)

    fmt.Println(str)
}

Production:

Jay is from India

Mike is 20

Ce dernier exemple montre comment réorganiser les spécificateurs de format.

package main

import (
	"fmt"
)

func main() {
	a := 2
	b := 3
	c := 4

	res := fmt.Sprintf("There are %d grapes, %d bananas, and %d strawberries.", a, b, c)
	fmt.Println(res)
}

Production:

There are 2 grapes, 3 bananas, 4 and strawberries

Article connexe - Go String