Les valeurs maximales et minimales des types entiers dans Go
Lorsque vous travaillez avec des types de données entiers dans Go, il est essentiel de comprendre leur maximum et valeurs minimales représentables. Pour les types entiers signés (int, int8, int16, etc.), les valeurs minimales et maximales sont déterminées par le nombre de bits utilisés pour chaque type.
Calcul des valeurs maximales et minimales
Pour déterminer la valeur maximale pour un type entier non signé, vous pouvez utiliser l'expression "^uint(0)". Cette opération effectue une négation au niveau du bit sur la plus grande valeur uint possible, ce qui définit effectivement tous les bits sur 1. Par exemple, pour un type uint64 :
const MaxUint64 = ^uint64(0) // 18446744073709551615
Pour déterminer la valeur minimale d'un type entier signé, vous peut utiliser une approche similaire, sauf que vous devez d'abord convertir la valeur maximale en type int. Par exemple, pour un type int32 :
const MaxInt32 = int32(^uint32(0)) // 2147483647 const MinInt32 = -MaxInt32 - 1 // -2147483648
Initialisation des variables avec une valeur maximale
Dans l'exemple de code que vous avez fourni, vous souhaitiez initialiser la variable minLen avec le valeur maximale pour un type uint. En utilisant les techniques ci-dessus, vous pouvez écrire le code suivant :
var minLen uint = ^uint(0)
Cela garantira que minLen est initialisé à la plus grande valeur uint possible, de sorte que la première itération de la boucle comparera corretament sa valeur à la chose.n.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!