Go Formatage du texte


Exemple

Le package fmt implémente des fonctions pour imprimer et formater du texte à l'aide de verbes de format. Les verbes sont représentés avec un signe de pourcentage.

Verbes généraux:

%v    // the value in a default format
      // when printing structs, the plus flag (%+v) adds field names
%#v   // a Go-syntax representation of the value
%T    // a Go-syntax representation of the type of the value
%%    // a literal percent sign; consumes no value

Booléen:

%t    // the word true or false

Entier:

%b    // base 2
%c    // the character represented by the corresponding Unicode code point
%d    // base 10
%o    // base 8
%q    // a single-quoted character literal safely escaped with Go syntax.
%x    // base 16, with lower-case letters for a-f
%X    // base 16, with upper-case letters for A-F
%U    // Unicode format: U+1234; same as "U+%04X"

Composants à virgule flottante et complexes:

%b    // decimalless scientific notation with exponent a power of two,
      // in the manner of strconv.FormatFloat with the 'b' format,
      // e.g. -123456p-78
%e    // scientific notation, e.g. -1.234456e+78
%E    // scientific notation, e.g. -1.234456E+78
%f    // decimal point but no exponent, e.g. 123.456
%F    // synonym for %f
%g    // %e for large exponents, %f otherwise
%G    // %E for large exponents, %F otherwise

Chaîne et tranche d'octets (traitées de manière équivalente avec ces verbes):

%s    // the uninterpreted bytes of the string or slice
%q    // a double-quoted string safely escaped with Go syntax
%x    // base 16, lower-case, two characters per byte
%X    // base 16, upper-case, two characters per byte

Aiguille:

%p    // base 16 notation, with leading 0x

En utilisant les verbes, vous pouvez créer des chaînes concaténant plusieurs types:

text1 := fmt.Sprintf("Hello %s", "World")
text2 := fmt.Sprintf("%d + %d = %d", 2, 3, 5)
text3 := fmt.Sprintf("%s, %s (Age: %d)", "Obama", "Barack", 55)

La fonction Sprintf formate la chaîne dans le premier paramètre en remplaçant les verbes par la valeur des valeurs dans les paramètres suivants et renvoie le résultat. Comme Sprintf , la fonction Printf également mais au lieu de retourner le résultat, elle imprime la chaîne.