Convertir une chaîne en Int64 en Go

Jay Singh 23 aout 2022
Convertir une chaîne en Int64 en Go

Un int est généralement utilisé pour un index, une longueur ou une capacité. Le type int est toujours suffisamment grand pour gérer la longueur maximale d’un tableau.

Les types de données int8, int16, int32 et int64 (ainsi que leurs cousins ​​non signés) sont les meilleurs. Lorsque la mémoire n’est pas un problème, un int64 est le choix le plus courant.

Dans cet article, nous allons convertir une chaîne en int64.

Convertir une chaîne en Int64 à l’aide de Parselnt() dans Go

strconv.ParseInt() est une fonction intégrée dans Go qui analyse une chaîne décimale (base 10) et vérifie si elle tient dans un int64. L’implémentation détermine la taille d’un int ; il peut s’agir de 32 ou 64 bits, c’est pourquoi le passage de int à int64 ne provoque aucune perte de données.

Dans cet exemple, strconv.ParseInt() est utilisé pour convertir une chaîne décimale (base 10) en un entier signé 64 bits et confirmer qu’il correspond.

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "10101101"
    n, err := strconv.ParseInt(str, 10, 64)
    if err == nil {
        fmt.Printf("%d is type %T", n, n)
    }
}

Production:

10101101 is type int64

De plus, ParseInt traduit une chaîne et renvoie la valeur appropriée dans la base fournie (0, 2 à 36) et la taille en bits (0 à 64). Cette méthode prend un paramètre de chaîne et, à l’aide d’un paramètre de base, le convertit en un type int.

Il renvoie une valeur Int64 par défaut.

package main

import (
    "fmt"
    "reflect"
    "strconv"
)

func main() {
    strVar := "110"

    intVar, err := strconv.ParseInt(strVar, 0, 8)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 16)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 32)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 64)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))
}

Production:

110 <nil> int64
110 <nil> int64
110 <nil> int64
110 <nil> int64

Article connexe - Go String