Definindo Tipos Personalizados
Parte da seção Fundamentos do Journey de GO da Coddy. Lição 94 de 109.
Em Go, você pode criar seus próprios tipos personalizados baseados em tipos existentes. Isso dá ao seu código mais clareza e segurança de tipos.
Defina um tipo personalizado para temperatura em Celsius:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}O resultado mostra o valor da temperatura:
Temperature: 25.5°CTipos personalizados comportam-se como seus tipos subjacentes, mas são tratados como tipos distintos pelo compilador, melhorando a legibilidade do código e prevenindo erros lógicos.
Desafio
InicianteNeste desafio, você praticará a definição de um tipo personalizado em Go. Tipos personalizados permitem que você crie seus próprios tipos de dados baseados em tipos já existentes.
Sua tarefa é definir um tipo personalizado chamado Temperature que seja baseado em float64, e então criar uma variável deste tipo.
Após definir o tipo, o programa deve imprimir o valor e o tipo da variável de temperatura.
Experimente você mesmo
package main
import "fmt"
// TODO: Defina um tipo personalizado chamado 'Temperature' baseado em float64
func main() {
// Crie uma variável do tipo Temperature com o valor 23.5
var roomTemp Temperature = 23.5
// Imprima o valor e o tipo de roomTemp
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}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ções10Tipos Compostos: Arrays
Introdução a ArraysDeclarando ArraysInicializando ArraysAcessando Elementos de um ArrayTamanho do Array com `len`Iterando sobre ArraysArrays Multidimensionais13Tipos Compostos: Structs
Definindo Tipos PersonalizadosCriando Instâncias de StructsAcessando Campos de StructsPonteiros para StructsInicializando StructsStructs IncorporadasStructs AnônimasRecapitulação - Estruturas de Dados Personalizadas2Variá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õesPratique por conta própria: Compilador de Go online