Les types
bool : booléen
(u)byte: (non) signé de 8 bits
(u)short : (non) signé de 16 bits
(u)int : (non) signé de 32 bits
(u)long : (non) signé de 64 bits
char : unité de code UTF-8
wchar : unité de code UTF-16
dchar : UTF-32/point de code
Notes :
string est un alias de immutable(char)[]
wstring est un alias de immutable(wchar)[]
dstring est un alias de immutable(dchar)[]
transtypage : TypeA foo = cast(TypeB) bar;
Chaînes de caractères
Déclaration d'une chaîne :
en UTF-8 : "\u0073\u0323\u0307"c (c pour char)
en UTF-16 : "\u0073\u0323\u0307"w (w pour wchar)
en UTF-32 : "\u0073\u0323\u0307"d (d pour dchar)
Tableaux
Tableaux associatifs
Fonctions communes tableaux/chaînes
(étant donné qu'une chaîne est un tableau d'unités de code)
Obtenir la position (-1 si non trouvé) d'un élément dans un tableau/chaîne : countUntil
import std.string;
import std.algorithm;
int sharp = chaine.countUntil('#');
if (-1 == sharp) {
// non trouvé
} else {
// trouvé à l'indice sharp (le premier étant 0)
}