Como formatar strings em Go

Como formatar strings em Go

Conforme você escreve o código Go, você achará a formatação de strings muito útil em muitas situações. Você pode estar analisando entradas ou criando saídas mais complexas do que uma simples concatenação. Você pode estar trabalhando com tipos diferentes de strings simples.





A formatação de strings em Go usa o processo familiar e a sintaxe da função printf, que linguagens de Java a Haskell também usam.





Go fornece vários métodos para formatar strings no fmt pacote. Você pode usar funções e verbos para formatação de string dependendo da operação ou entradas que deseja formatar.





Formatação de string em Go

As funções no pacote fmt são semelhantes às contrapartes, como a função printf no bash ou C. Go deriva seus verbos de formatação de C.

Você usa verbos de formatação de string como espaços reservados para seus valores de variável em uma string contendo. Você pode então passar essa string de formatação para uma função como Imprimir , juntamente com os valores correspondentes a esses marcadores.



Você não pode usar verbos de formatação de string com o Imprimir e Imprimir métodos. Você pode usá-los com métodos como Imprimir e Sprintf .

conecte o gamepad wii u ao pc
fmt.Println("This is a test %v", 90) 
fmt.Printf("This is a test %v", 90)

o %dentro verb imprime qualquer valor em seu formato padrão. o Imprimir O método não reconhece verbos e imprime quaisquer argumentos que receber. o Imprimir e Sprintf ambas as funções formatam o primeiro argumento de string que você passa para elas.





  resultado da formatação de inteiros

Funções de formatação de string no pacote fmt

Formatando strings em a linguagem de programação Go requer que você use uma função de formatação de string e um verbo. A função retorna a string formatada e os verbos são os espaços reservados para as entradas da string.

o Imprimir O método formata a entrada de acordo com o especificador de formato e retorna o número de bytes ou erros gravados.





fmt.Printf("This is a test %v", 90) 

Convencionalmente, você não terá que se preocupar com erros ao usar o Imprimir método.

o Sprintf O método formata de acordo com o formato especificado e retorna o resultado como uma string.

var result = fmt.Sprintf("This is a test %v", 90) 

o Fprintf O método formata a string e a grava em um gravador (métodos que implementam o io.Writer interface)

// write data to standard output 
result, err = fmt.Fprintf(writer, "This is a test %v", 90)

o Fscanf O método digitaliza a partir de um leitor e formata de acordo com o formato especificado.

var take string 

// read data from the given string
readString := strings.NewReader("This is a test")

read, err := fmt.Fscanf(reader, "%v", &take)

Neste caso, o Fscanf decodifica a string do leitor para o leva variável e o ler variável contém o resultado do formato.

Os Verbos de Formatação de Strings

Go fornece muitos verbos de formatação que você pode usar junto com as funções de formatação de string.

Existem verbos gerais de formatação de strings como o %dentro verbo nos exemplos de funções de formatação de string. Você pode usar os verbos gerais de formatação de string para formatar qualquer tipo de dados.

como restaurar o iphone sem o iTunes para as configurações de fábrica

Você pode usar o %#dentro verbo para produzir qualquer valor, o %+v para estruturas, o %T verbo para o tipo de qualquer valor, e o %% verbo para nenhum valor.

type any struct {  
name string
age int
isLoggedIn bool
}

var instance = any {
name: "John Doe",
age: 34,
isLoggedIn: true,
}

var result = fmt.Sprintf("This is a struct formatting example %+v", instance)
fmt.Println(result)

o resultado variável contém a string formatada da estrutura instanciada. Se você imprimir, deve ficar assim:

This is a struct formatting example {name:John Doe age:34 isLoggedIn:true}

Existem os verbos para formatar tipos de dados nativos específicos do Go, incluindo canais e ponteiros.

%t booleanos.
%d int, int8, etc.
%d, %#x se impresso com %#v uint, uint8, etc.
%g float32, complexo64, etc.
%s corda.
%p chan.
%P ponteiro.

Você deve garantir que não cometa erros com os verbos, pois eles diferenciam maiúsculas de minúsculas, como o chan e ponteiro verbos.

atalho de teclado para colocar o computador para hibernar

Formatação de números inteiros e flutuantes

Existem verbos de formatação de strings para formatar inteiros em bases diferentes . Você pode usar qualquer um desses verbos para formatar números inteiros

%b base 2
%c o caractere representado pelo ponto de código Unicode correspondente.
%d base 10.
%o base 8.
%O base 8 com prefixo 0o.
%q um literal de caractere entre aspas simples escapou com segurança com a sintaxe Go.
%x base 16, com letras minúsculas para a-f.
%X base 16, com letras maiúsculas para A-F.
%DENTRO Formato Unicode: U+1234; igual a 'U+%04X'.

Por exemplo, você pode formatar um inteiro usando o %d verbo:

var result = fmt.Sprintf("This is an integer formatting example %d", 90) 
fmt.Println(result)

Estes são os verbos para formatar números de ponto flutuante.

%b notação científica sem decimal com expoente uma potência de dois, na forma de strconv. FormatFloat com o formato 'b', por exemplo -123456p-78
%e notação científica, por exemplo -1,234456e+78
%E ponto decimal, mas sem expoente, por exemplo, 123,456
%f ponto decimal, mas sem expoente, por exemplo, 123,456
%F sinônimo de %f.
%g %e para grandes expoentes, %f caso contrário. Precisão abaixo.
%G %E para grandes expoentes, %F caso contrário
%x notação hexadecimal (com potência decimal de dois expoentes), por exemplo, -0x1.23abcp+20.
%X notação hexadecimal maiúscula, por exemplo -0X1.23ABCP+20.

Aqui está um exemplo de formatação de um ponto decimal sem expoente com o %f verbo.

var result = fmt.Sprintf("This is a floating point formatting example %f", 432.9503) 
fmt.Println(result)

Você sempre pode usar os verbos gerais se não tiver certeza sobre o tipo.

Formatando Strings e Bytes

Os tipos de strings e slice of byte são bastante semelhantes em Go. Esses são os sinalizadores para formatar strings e bytes.

%s os bytes não interpretados da string ou fatia
%q uma string entre aspas duplas escapou com segurança com a sintaxe Go
%x base 16, minúscula, dois caracteres por byte
%X base 16, maiúsculas, dois caracteres por byte

Aqui está um exemplo de formatação de uma string com o %s verbo.

var score = "example" 
var result = fmt.Sprintf("This is a string formatting example %s", score)
fmt.Println(result)

O pacote fmt é essencial para programação em Python

o fmt O pacote contém a maioria das funcionalidades necessárias para a formatação de strings. Go também oferece cordas pacote para manipulação de strings e um registro pacote que pode formatar strings para registro.

o fmt pacote tem funções que implementam o io.Writer e io.Reader interfaces. Você achará útil para muitos casos de uso, como criar aplicativos da Web e de linha de comando.