Maison  >  Article  >  développement back-end  >  golang entier inversé (deux méthodes)

golang entier inversé (deux méthodes)

PHP中文网
PHP中文网original
2023-04-02 09:25:071354parcourir

Golang est un langage de programmation efficace et moderne qui présente des avantages uniques dans la gestion de l'inversion des nombres. Cet article vous présentera la méthode et la mise en œuvre de l'inversion des entiers dans Golang.

La nécessité d'inverser des entiers en Golang

Dans la pratique de la programmation, nous avons souvent besoin d'inverser des entiers. Par exemple, lorsque nous devons inverser un nombre 12345 en 54321, nous devons inverser le nombre entier. Ce type d'opération est très courant dans des domaines tels que la cryptographie, les structures de données, les algorithmes, etc. Par conséquent, Golang fournit des méthodes pratiques afin que les développeurs puissent rapidement implémenter l'inversion d'entiers.

Méthode 1 : Utiliser le retournement de chaînes

Golang fournit un moyen rapide d'inverser des entiers, c'est-à-dire de convertir d'abord les entiers en chaînes, puis de retourner les chaînes. Ce qui suit est une implémentation simple :

func reverseInt(n int) int {
    var sign int
    if n < 0 {
        sign = -1
    } else {
        sign = 1
    }

    str := strconv.Itoa(n * sign)
    bytes := []byte(str)
    reverseBytes(bytes)
    str = string(bytes)

    reversed, err := strconv.Atoi(str)
    if err != nil {
        return 0
    }

    return sign * reversed
}

func reverseBytes(bytes []byte) {
    for i := 0; i < len(bytes)/2; i++ {
        j := len(bytes) - i - 1
        bytes[i], bytes[j] = bytes[j], bytes[i]
    }
}

L'implémentation de cette fonction est très simple. Tout d'abord, nous convertissons l'entier en chaîne selon le signe, puis inversons la chaîne, et enfin la convertissons en entier et la renvoyons. Cette méthode est très intuitive et facile à comprendre. Cependant, comme il implique une conversion de chaînes, il est moins efficace et ne convient pas au traitement de grandes quantités de données.

Méthode 2 : mise en œuvre par des calculs mathématiques

La deuxième méthode consiste à utiliser des calculs mathématiques pour réaliser l'inversion des nombres entiers. La mise en œuvre de cette méthode est très simple, il suffit de prendre tour à tour chaque chiffre de l’entier et de l’ajouter au résultat. Ce qui suit est une implémentation de code simple :

func reverseInt(n int) int {
    var reversed int
    for n != 0 {
        lastDigit := n % 10
        reversed = reversed*10 + lastDigit
        n /= 10
    }
    return reversed
}

L'implémentation de cette méthode est très claire. Il suffit d'extraire en continu le dernier chiffre de l'entier à travers la boucle, puis de l'ajouter au résultat. Cette méthode n’implique pas de conversion de chaîne, elle est donc plus efficace.

Résumé

Les deux méthodes ci-dessus sont de bons moyens de résoudre le problème d'inversion d'entiers dans Golang, et elles sont relativement simples et faciles à comprendre. En fonction des besoins de l'entreprise et des scénarios réels, les développeurs peuvent choisir en toute flexibilité différentes méthodes de mise en œuvre.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn