"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter int32 em string com eficiência em Golang?

Como converter int32 em string com eficiência em Golang?

Publicado em 2024-11-08
Navegar:903

How to Efficiently Convert int32 to String in Golang?

Converter int32 em string em Golang

Converter int32 em string em Golang pode ser simples com uma solução concisa: fmt.Sprint(i) . No entanto, se este método direto não for suficiente, existem várias opções de conversão disponíveis:

  1. Função de conversão personalizada: Este é o método mais rápido, envolvendo escrever sua própria função de conversão.
  2. fmt.Sprint(i): Esta é uma abordagem mais lenta em comparação com a função personalizada, mas continua sendo um opção.
  3. strconv.Itoa(int(i)): Embora um pouco mais rápido que fmt.Sprint(i), requer a conversão de int32 em int antes da conversão.
  4. strconv.FormatInt(int64(i), 10): Este é um método mais rápido em comparação com strconv.Itoa(int(i)) pois converte diretamente int32 em int64 e depois em string.

Os benchmarks de desempenho indicam que a função de conversão personalizada (String) é a mais eficiente, seguida por strconv. FormatInt, strconv.Itoa e fmt.Sprint.

Aqui está um trecho de código demonstrando o comparação:

package main

import (
    "fmt"
    "strconv"
    "time"
)

func main() {
    var s string
    i := int32(-2147483648)
    t := time.Now()
    for j := 0; j ), i/10
        if i == 0 {
            if signed {
                pos--
                buf[pos] = '-'
            }
            return string(buf[pos:])
        }
    }
}

Em última análise, a melhor escolha depende dos requisitos específicos e das restrições de desempenho do seu aplicativo.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3