Copiando Slices
Parte da seção Fundamentos do Journey de GO da Coddy — lição 82 de 109.
A função copy no Go permite copiar elementos de um slice para outro.
Crie um slice de origem e um slice de destino:
source := []int{1, 2, 3}
dest := make([]int, 2) // Destination with length 2
// Copy from source to destination
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)Resultado:
Source: [1 2 3]
Destination: [1 2]
Number of elements copied: 2A função copy copia apenas a quantidade de elementos que couberem no slice de destino.
Desafio
InicianteNeste desafio, você praticará o uso da função copy para copiar elementos de um slice para outro.
Você tem dois slices: source contendo nomes de frutas e destination, que é um slice vazio com capacidade para 3 elementos. Sua tarefa é copiar os elementos de source para destination usando a função copy.
Após a cópia, imprima o conteúdo do slice destination.
Folha de consulta
A função copy copia elementos de um slice para outro:
source := []int{1, 2, 3}
dest := make([]int, 2) // Destino com comprimento 2
// Copia da origem para o destino
copied := copy(dest, source)
fmt.Println("Source:", source)
fmt.Println("Destination:", dest)
fmt.Println("Number of elements copied:", copied)A função copy copia apenas a quantidade de elementos que couber no slice de destino e retorna o número de elementos copiados.
Experimente você mesmo
package main
import "fmt"
func main() {
// Slice de origem com nomes de frutas
source := []string{"apple", "banana", "cherry", "date"}
// Cria um slice de destino com capacidade para 3 elementos
destination := make([]string, 3)
// TODO: Use a função copy para copiar elementos da origem para o destino
// Imprime o slice de destino
fmt.Println("Destination slice:", destination)
}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