Um momento
Aula 33
Cursos / Aprenda Go / Golang (Curso de Programação)
Exercício de Golang - Comprimento len e Capacidade cap de um Slice

Summary

Resumo da Aula sobre Slices em Go

Nesta aula, abordamos o conceito de slices (fatias) na linguagem Go, utilizando um exemplo prático com um arquivo chamado slices4.go.

Estrutura do Código

  1. Importação do Pacote: O pacote fmt é importado para permitir a impressão de resultados no terminal.
  2. Declaração de Variável: Uma variável chamada Animaze foi criada como um array de três elementos do tipo string, contendo os valores:
    • Dragon Ball
    • Sailor Moon
    • Rock Show

Objetivos da Aula

  • Exercício Inicial: O desafio inicial foi extrair os dois primeiros elementos do array Animaze e imprimir o resultado.
  • Análise de Comprimento e Capacidade:
    • O comprimento do slice é o número de elementos extraídos (neste caso, 2).
    • A capacidade do slice é contada a partir do primeiro elemento do slice na array original até o final. Para o primeiro exemplo, a capacidade foi 3.

Próximo Desafio

  • Extrair os Dois Últimos Elementos: O próximo objetivo foi modificar o código para extrair os dois últimos elementos do array.
  • Cálculo de Comprimento e Capacidade:
    • Comprimento: 2 (de Sailor Moon e Rock Show).
    • Capacidade: 2 (começando a contar de Sailor Moon até o fim da array original).

Considerações Finais

  • Comprimento vs. Capacidade: É fundamental diferenciar entre comprimento (número de elementos no slice) e capacidade (número de elementos a partir do primeiro do slice até o final da array original).
  • Recomendações: Praticar os conceitos de comprimento e capacidade em diferentes exemplos para solidificar o entendimento.

Encerramento

A aula concluiu com a recomendação de revisar o material para entender completamente os slices e suas propriedades na linguagem Go.

Video Transcript

Olá pessoal, esta aula será um exercício de pedaços no linguagem Go. Então temos aqui no arquivo que eu criei, slices4.go, tem um pacote de main, importando o FMT para dar o printLn lá no final da função do método principal. Então nós temos aqui uma variável chamada Animaze, desenho japonês, você não sabe. Então a gente vai declarar a variável aqui, palavra, chave, var, a seguinte é do nome da variável, eu chamei de Animaze, e o tipo da variável que vai ser um array, esse caso é um vetor de três elementos do tipo string. Então eu vou definir essa variável usando esse cara aqui, que é o chamado o array literal, quando aparece assim, três strings, e tem esses valores aqui, primeiro elemento, Dragon Ball, segundo elemento, Selomun, terceiro, Rock Show. Então o que a gente vai fazer? Vamos pegar pedaços desse vetor, e a gente vai dar uma olhada no comprimento do pedaço e na capacidade, para a gente entender melhor a diferença entre essas duas propriedades. Então vamos começar aqui um desafio para você, eu quero que você pegue um pedaço dessa array, dos dois primeiros elementos e dê o printLn aqui, depois desse FMT, faça uma nova linha com o novo printLn. Então pode pausar a vida e tentar, e a gente vai continuar já, já. E deu tudo certo, então vamos pegar o pedaço dessa array Animaze, dois primeiros elementos, então para poder pegar os dois primeiros, você pode dizer o nome da variável, aí abre os brochets e vamos começar de que índice? Nesse caso o printLn 0 e 1, então é só dizer 0, nem precisa falar 0, se não quiser, até que índice? Até o 0, 1, mas como o índice final não é incluído, você tem que adicionar 1 nesse caso, então vai ser 2 aqui, porque ele vai pegar o pedaço do começo, que é 0, 1 até o 2, menos 1, nesse caso 2 é o yuyu, então o menos 1 vai dar na seu armô aqui, então esse cara vai pegar esses dois aqui, então vamos pegar esse cara aqui, vamos armazenar a variável, vou chamar v2 primeiros, aí fiz essa variável chamar 2 primeiros, que é o pedaço, aqui inclui Dragon Ball Sela Moon, aqui em parte da fmt, p.printLn, 2 primeiros, só bá, vamos rodar o programa, eu vou no terminal, vou dar a go, run, o nome do arquivo, slices4.go, então a gente pegou o pedaço, agora vamos para a próxima parte do desafio, eu quero que você imprime, primeiro você pense o que é o comprimento desse pedaço e com a capacidade, já sabe, então a gente espera que seja o que, comprimento, só olhar o número de elementos do pedaço, esse caso tem 1, 2, então o comprimento será 2, length, agora a capacidade, para a capacidade você vai começar a dar onde, começar contando, você olha o primeiro elemento do pedaço, olha o array original, onde está esse primeiro elemento, aí você começa contando daqui até o final, dessa array original, nesse caso vai do 0 até o 1, 2, então vai ser capacidade 3, começa do elemento na array original até o final, então a capacidade vai ser 3, então vamos confirmar, eu vou dar aqui fmt, vou dar o printf, vamos ver aqui, primeiro eu quero length, para pegar o comprimento do pedaço, depois eu quero a cap, chama essa função cap, passa o nome do vetor nesse caso, para poder pegar a capacidade, agora vamos mostrar esses valores aqui, que são valores inteiros, aqui no printf, eu posso usar, eu vou colocar length igual a d, e pode colocar um separador, qualquer que você quiser, e vou dizer cap igual a d, esse cara vai corresponder ao comprimento, esse cara aqui vai corresponder à capacidade, vamos ver, esqueci de botar uma quebra de linha, porque ele não tem, você quiser adicionar quebra de linha, é barra n, no final da stream do printf, então confirma o que a gente tinha pensado antes, o comprimento do pedaço, é o número de elementos do copedaz, no caso 1, 2, agora a capacidade, você tem que olhar sempre no vetor do qual você extraiu o pedaço, aí você começa contando lá, do primeiro elemento do pedaço, você vai procurar no vetor original, e começa a contar daquela local, o dragombole, seglamon, yuyu, rakusho, até o final, dá 3 elementos, então a capacidade vai ser 3, agora vamos tentar outro desafio, agora em vez de você pegar o pedaço dos dois primeiros, eu quero que você pegue o pedaço dos dois últimos, e você tenha que pegar os elementos desse vetor, então pode fazer os vídeos para o si próprio, e a gente vai continuar já, e de tudo certo vou criar uma nova variável chamada de os dois últimos elementos da array, vou pegar animes, e vou pegar extrair o seglamon e o yuyu rakusho, o caso vai ser, você pode só usar o índice da onde, esse que é o índice zero, esse é o índice um, esse é o índice dois, então você começa do índice um, dois pontos, até o que, o final, se você quiser botar o 3 aqui, que vai ser sempre o menos um, para poder incluir o 3 menos um, pode fazer também, ou não precisa digitar, vai dar na mesma, é implícito que você que é até o final, então vai pegar o pedaço desses caras aqui, agora vamos dar o print f aqui, eu vou só duplicar essa linha, e em vez de dois primeiros eu vou botar dois últimos, fiz isso aqui, a mesma coisa é certo que a variável, é os dois últimos, vai aparecer no último print f, vamos rodar o programa, e olhem no que deu, opa, eu esqueci de dar o print, a gente dá o olhado no pedaço, e eu esqueci também de perguntar, se você deduziu, se você já sabe qual vai ser o valor do link e do cap, vamos pensar aqui, então a gente traiu o pedaço com dois elementos, então o número de elementos do pedaço é 2, então o comprimento será 2, agora para o capacidade, note que o pedaço é Sailor Moon e o Haku Sho, agora para poder contar a capacidade, a gente vai ter que olhar, começa da onde do pedaço, Sailor Moon, Sailor Moon está onde na array original, está na posição 01, o índice 1, agora você não pode incluir o Dragon Ball, porque está antes do Sailor Moon, que é o primeiro elemento do pedaço, então eu pego o Sailor Moon, até o final da array original, vai ser 1, 2 elementos, por isso a capacidade será 2, capacidade 2, 2, você vê aqui, salvei não, então esse aqui é os dois últimos, Sailor Moon e o Haku Sho e o Print LN, é o Lank 2, capacidade 2, como a gente falou, então é importante você entender essa diferença e a capacidade nesses dois exemplos, recomendo você fazer de novo, senão você ainda não entender, só para a gente avisar a length, é muito simples, é só o número de elementos do pedaço, agora a capacidade vai ser um pouco mais complicada, porque você tem que ir lá no vetor original e começar a contar do primeiro elemento que aparece no pedaço, no primeiro caso, o primeiro elemento do pedaço era também o primeiro elemento da array original, por isso que a capacidade deu o comprimento da array original, que é 3, agora o segundo pedaço que a gente pegou do Sailor Moon e o Haku Sho, o primeiro elemento do pedaço não é o primeiro elemento da array original, por isso a gente vai ter que contar do local do Sailor Moon na original, que vai aparecer aqui no segundo, aí você começa a contar daqui, Sailor Moon e o Haku Sho terminou na array original, então temos uma contagem de dois elementos, capacidade 2 para o pedaço dos dois últimos elementos dessa array, então por essa aula é só e até a próxima.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: