Inferência de Tipo com `:=`
Parte da seção Fundamentos do Journey de GO da Coddy — lição 6 de 109.
Vamos explorar uma maneira conveniente de criar e inicializar valores em Go usando o atalho :=. Isso é chamado de inferência de tipo, onde o Go descobre automaticamente qual tipo seus dados devem ter.
Para criar uma mensagem de texto, use :=:
message := "Hello, Go!"
fmt.Println(message)Após executar este código, você verá Hello, Go! impresso no console. O Go soube automaticamente que message deveria ser do tipo string.
Vamos criar um número usando :=:
age := 25
fmt.Println(age)Isso imprime 25 no console. O Go automaticamente tornou age um tipo inteiro.
Vamos criar um número decimal:
price := 19.99
fmt.Println(price)Isso imprime 19.99 no console. O Go tornou price automaticamente um tipo de ponto flutuante.
Desafio
InicianteNeste desafio, você praticará o uso do operador := para inferência de tipos em Go.
O programa já possui algumas variáveis declaradas usando a palavra-chave var com tipos explícitos. Sua tarefa é declarar duas novas variáveis usando a sintaxe curta := que permite ao Go inferir os tipos automaticamente.
Complete os TODOs no código para fazer o programa imprimir os valores corretos.
Folha de consulta
Use o atalho := para inferência de tipo em Go, onde o Go determina automaticamente o tipo da variável:
Criando uma variável string:
message := "Hello, Go!"
fmt.Println(message)Criando uma variável inteira:
age := 25
fmt.Println(age)Criando uma variável de ponto flutuante:
price := 19.99
fmt.Println(price)Experimente você mesmo
package main
import "fmt"
func main() {
// Variáveis declaradas com tipos explícitos
var name string = "Gopher"
var age int = 5
// TODO: Declare uma variável chamada 'language' com o valor "Go" usando a sintaxe :=
language ? "Go"
// TODO: Declare uma variável chamada 'version' com o valor 1.18 usando a sintaxe :=
version ? 1.18
// Imprime todas as variáveis
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Language:", language)
fmt.Println("Version:", version)
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões