Formatação de Strings
Agora que aprendemos sobre todos os tipos básicos de dados, podemos explorar a formatação de strings. Em programação, a formatação de strings envolve a incorporação de valores de variáveis em strings.
Nota
A instrução
import
é usada para importar pacotes para uma aplicação em Go. Um pacote é uma coleção de arquivos-fonte em Go relacionados que colaboram para oferecer um conjunto de funcionalidades ou serviços. O pacotefmt
fornece funções que nos permitem formatar strings.
Uma das funções do pacote fmt
que estamos utilizando é a função Println
. A função Println
exibe texto de saída em uma nova linha a cada vez. No entanto, existe uma função chamada Print
que exibe a saída sem passar para uma nova linha:
index.go
12345678package main import "fmt" func main() { fmt.Print("1") fmt.Print(" 2") fmt.Print(" 3") }
Em geral, podemos utilizar essas funções para inserir valores de variáveis dentro de dados de string usando o seguinte método:
index.go
123456789package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Println("There are", n, "cats,", in, "of them are inside the house while", out, "are outside.") }
No entanto, esse método não é muito eficiente porque temos que dividir a string em vários segmentos para inserir variáveis nos lugares relevantes, o que pode se tornar complicado em casos mais complexos. A função Printf
resolve essa questão e simplifica o processo de exibição de saída formatada.
A função Printf
recebe uma string de formatação como seu primeiro argumento, seguida pelos valores (ou variáveis) a serem inseridos na string de formatação. Uma string de formatação contém espaços reservados (especificadores de formato) que definem o formato desejado da saída.
Unfortunately, you have not provided any example text for me to translate. Please provide the English content you want translated into Portuguese.
index.go
12345678910package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Printf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) }
Conforme ilustrado pelo exemplo, Especificadores de Formato são símbolos que servem como espaços reservados para tipos específicos de dados dentro de uma string. Existe um especificador de formato distinto para cada tipo de dado. A tabela abaixo fornece uma lista dos especificadores de formato básicos:
Especificador de Formato | Tipo de Dado |
---|---|
%d | Inteiro |
%s | String |
%f | Ponto flutuante |
%t | Booleano |
%c | Caractere (ou Rune) |
As variáveis substituem os respectivos espaços reservados na string de formatação. Na saída do exemplo acima, o primeiro %d
é substituído pelo valor de n
. Da mesma forma, o segundo é substituído pela variável correspondente, que é in
, e o último %d
é substituído pelo valor de out
.
Também podemos formatar uma string e armazená-la dentro de uma variável de string usando a função Sprintf
, que formata uma string e retorna a string resultante para armazenamento ou uso em outro local, em vez de exibi-la imediatamente na tela:
index.go
123456789101112package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in var text string = fmt.Sprintf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) fmt.Println("Text:", text) }
Aqui está um exemplo mais complexo que incorpora múltiplos conceitos que já abordamos anteriormente em um único programa. Será um valioso exercício revisar o seguinte programa e seu resultado para aprimorar suas habilidades de leitura de código:
index.go
12345678910package main import "fmt" func main() { var numA float32 = 17.7 var numB int = 10 var str string = fmt.Sprintf("It is %t that 'a' is bigger than 'b'.", numA > float32(numB)) fmt.Printf("The numbers 'a' and 'b' are %f and %d. %s", numA, numB, str) }
Em alguns casos, o compilador realiza a conversão de tipo implícita para adequar valores com especificadores de formato, conforme demonstrado no exemplo a seguir:
index.go
1234567package main import "fmt" func main() { var char rune = 'A' fmt.Printf("The Unicode decimal value of %c is %d", char, char) }
O rune 'char' é exibido tanto como um caractere quanto como um valor numérico. No entanto, em alguns casos, o compilador pode gerar um erro. Por exemplo, o seguinte código resultará em uma saída inválida porque um 'float' não pode ser convertido implicitamente em um 'int':
index.go
12var value float32 = 5.7 fmt.Printf("%d", value)
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 1.96
Formatação de Strings
Deslize para mostrar o menu
Agora que aprendemos sobre todos os tipos básicos de dados, podemos explorar a formatação de strings. Em programação, a formatação de strings envolve a incorporação de valores de variáveis em strings.
Nota
A instrução
import
é usada para importar pacotes para uma aplicação em Go. Um pacote é uma coleção de arquivos-fonte em Go relacionados que colaboram para oferecer um conjunto de funcionalidades ou serviços. O pacotefmt
fornece funções que nos permitem formatar strings.
Uma das funções do pacote fmt
que estamos utilizando é a função Println
. A função Println
exibe texto de saída em uma nova linha a cada vez. No entanto, existe uma função chamada Print
que exibe a saída sem passar para uma nova linha:
index.go
12345678package main import "fmt" func main() { fmt.Print("1") fmt.Print(" 2") fmt.Print(" 3") }
Em geral, podemos utilizar essas funções para inserir valores de variáveis dentro de dados de string usando o seguinte método:
index.go
123456789package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Println("There are", n, "cats,", in, "of them are inside the house while", out, "are outside.") }
No entanto, esse método não é muito eficiente porque temos que dividir a string em vários segmentos para inserir variáveis nos lugares relevantes, o que pode se tornar complicado em casos mais complexos. A função Printf
resolve essa questão e simplifica o processo de exibição de saída formatada.
A função Printf
recebe uma string de formatação como seu primeiro argumento, seguida pelos valores (ou variáveis) a serem inseridos na string de formatação. Uma string de formatação contém espaços reservados (especificadores de formato) que definem o formato desejado da saída.
Unfortunately, you have not provided any example text for me to translate. Please provide the English content you want translated into Portuguese.
index.go
12345678910package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Printf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) }
Conforme ilustrado pelo exemplo, Especificadores de Formato são símbolos que servem como espaços reservados para tipos específicos de dados dentro de uma string. Existe um especificador de formato distinto para cada tipo de dado. A tabela abaixo fornece uma lista dos especificadores de formato básicos:
Especificador de Formato | Tipo de Dado |
---|---|
%d | Inteiro |
%s | String |
%f | Ponto flutuante |
%t | Booleano |
%c | Caractere (ou Rune) |
As variáveis substituem os respectivos espaços reservados na string de formatação. Na saída do exemplo acima, o primeiro %d
é substituído pelo valor de n
. Da mesma forma, o segundo é substituído pela variável correspondente, que é in
, e o último %d
é substituído pelo valor de out
.
Também podemos formatar uma string e armazená-la dentro de uma variável de string usando a função Sprintf
, que formata uma string e retorna a string resultante para armazenamento ou uso em outro local, em vez de exibi-la imediatamente na tela:
index.go
123456789101112package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in var text string = fmt.Sprintf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) fmt.Println("Text:", text) }
Aqui está um exemplo mais complexo que incorpora múltiplos conceitos que já abordamos anteriormente em um único programa. Será um valioso exercício revisar o seguinte programa e seu resultado para aprimorar suas habilidades de leitura de código:
index.go
12345678910package main import "fmt" func main() { var numA float32 = 17.7 var numB int = 10 var str string = fmt.Sprintf("It is %t that 'a' is bigger than 'b'.", numA > float32(numB)) fmt.Printf("The numbers 'a' and 'b' are %f and %d. %s", numA, numB, str) }
Em alguns casos, o compilador realiza a conversão de tipo implícita para adequar valores com especificadores de formato, conforme demonstrado no exemplo a seguir:
index.go
1234567package main import "fmt" func main() { var char rune = 'A' fmt.Printf("The Unicode decimal value of %c is %d", char, char) }
O rune 'char' é exibido tanto como um caractere quanto como um valor numérico. No entanto, em alguns casos, o compilador pode gerar um erro. Por exemplo, o seguinte código resultará em uma saída inválida porque um 'float' não pode ser convertido implicitamente em um 'int':
index.go
12var value float32 = 5.7 fmt.Printf("%d", value)
Obrigado pelo seu feedback!