Um momento
Aula 37
Cursos / Aprenda Go / Golang (Curso de Programação)
Como Criar Pedaços de Pedaços na Linguagem Go (Matrix / Array de Duas Dimensões)

Summary

Resumo da Aula sobre Pedaços de Pedaços (Slices de Slices)

Introdução

  • A aula aborda o conceito de "pedaços de pedaços", que são estruturas de dados semelhantes a matrizes ou arrays de duas dimensões.
  • A base da aula é a representação de um tabuleiro de jogo da velha usando slices.

Conceitos Principais

  1. Slice:

    • Um slice é uma parte de um array, representado por colchetes ([]).
    • Um slice de strings é um slice cujos elementos são strings.
  2. Slice de Slices:

    • Utilizando o jogo da velha como exemplo, é possível representar um tabuleiro como um slice de slices (um array 2D).
    • Cada linha do tabuleiro pode ser um slice de strings.

Implementação

  • Definindo o Tabuleiro:

    var tabuleiro [][]string = [][]string{
        {"x", "-", "-"},
        {"o", "x", "o"},
        {"-", "o", "x"},
    }
    
    • Aqui, tabuleiro é um slice de slices de strings. Cada linha representa um estado do jogo.
  • Acessando Elementos:

    • O primeiro elemento do tabuleiro pode ser acessado com tabuleiro[0], que retorna a primeira linha.
  • Usando fmt:

    • Para imprimir a primeira linha:
      fmt.Println(tabuleiro[0]) // Saída: [x - -]
      

Erros e Soluções

  • Durante a codificação, um erro relacionado a uma nova linha inesperada foi encontrado e solucionado ao garantir que as vírgulas fossem colocadas corretamente.

Revisão Final

  • O tabuleiro foi definido corretamente e os acessos aos elementos foram demonstrados.
  • A compreensão de slices e slices de slices foi consolidada, bem como a maneira de acessá-los.

Encerramento

  • A aula foi finalizada com um convite para a próxima sessão sobre o mesmo tema.

Fique atento e até a próxima aula!

Video Transcript

Olá pessoal, na esta aula nós vamos aprender sobre pedaços de pedaços. Isto é, se você tem um pedaço, você pode ter um pedaço que tem vários elementos que também são pedaços. Você pode também pensar nisso como uma array de duas dimensões, né? É chamada de matriz, tá? Então vamos começar aqui. Então quando a gente fala, por exemplo, os cuchetes seguidos de um tipo, por exemplo, cuchete string, a gente está se referindo ao pedaço de um string, né? Um slice. Agora, se você quiser fazer, por exemplo, imagina que você tem o jogo da velha, por exemplo, o jogo da velha, aquele jogo que você pode ter bola x ou pode não ter nada, ou ter o tabuleiro, né? Se você está a bolheira aqui, você pode pô... Opa, melhor por aqui mesmo. O bola x, né? Tá? E ganha quem, por exemplo, na diagonal ganhou x aqui. Então, imagina que tem esse cara aqui. Como é que você representaria esse cara? Exatamente. Você poderia usar um pedaço de pedaço, né? Um slice de slices. Então seria, por exemplo, cada linha seria um pedaço de, por exemplo, strings, se a gente representar o caractere como string. E esses aqui estariam dentro de outro pedaço de pedaços, tá? Então, deixa eu comentar esse cara aqui. Então, como é que a gente faz isso aqui? Vamos definir aqui uma... Declarar e definir uma variável. Vamos chamar de tabuleiro. Eu vou usar o igual... Dois pontos igual para poder definir e iniciar. Então, o tipo aqui vai ser o quê? Primeiramente vai ser um pedaço de pedaço de string, entendeu? Então, tem duas... Dois coxetes. Então, a maneira que eu leio isso é, tem um pedaço de pedaço de string. Eu sei que é o tipo aqui, pedaço de pedaço de string. E eu posso iniciar, abrir nas chaves, dessa maneira aqui. Aí dentro você põe os elementos, primeiro elemento. Agora, você tem que dizer o tipo do primeiro elemento. Como a gente tem pedaço de pedaço de string, você tem que dizer a mesma coisa aqui, pedaço de string. Aí você abra a chave para poder iniciar os elementos. Neste caso, nós temos um antos elementos para cada linha. Temos três elementos. Então, vai ser três. Se for a gente foi escrever esse mesmo que a gente fez aqui, seria o seguinte. Então, vamos usar a string x. O segundo seria o quê? O traço. Ou pode parecer a string vazia, mas neste caso eu usei o traço. Ou qualquer outro caractere que você quer usar para significar que o espaço ainda não foi preenchido. Aí outro traço. Então, essa primeira linha. Então, a primeira linha vamos focar aqui. É um pedaço literal, né? Pedaço de string literal definido com três elementos aqui. X, traço, traço. Esse aqui. Agora o segundo. Você é só definir outro pedaço literal de string aqui depois da vírgula em outra linha aqui. Então, neste caso, vamos fazer a segunda. A segunda vai ser primeiro bola, primeiro elemento, segundo elemento x, terceiro bola. Eu acho que eu pongo o espaço depois da vírgula só para manter um padrão de estilo, mas não precisa. O meu estilo eu sempre ponho espaço depois da vírgula. Então, temos esse aqui. Fizemos a segunda linha. Vamos para a terceira. Pedaço de string, traço, vírgula, bola, vírgula x. Então, a gente tem aqui um pedaço de string com três elementos. Um pedaço de string com três elementos. Pedaço de string, três elementos, né? Mas, se você pensar esse cara como A, esse cara como B, esse cara como C, você está vendo aqui que de fora você vê que tem um elemento B, dois elementos, três elementos. Então, é um pedaço de pedaço de string, cada elemento aqui A, B, C são do tipo pedaço de string. Agora, com essa definição, a gente pode, por exemplo, dar o FMT aqui para você ver que realmente o negócio funcionou. Dá o FMT para o Encelene. Vou botar só a primeira linha tabuleiro. Como é que acessa a primeira linha? O primeiro elemento desse pedaço de pedaço de string. É só pensar esse que é o A, esse que é o B, esse que é o C. Como é que acessa o A, que é o primeiro elemento desse pedaço aqui? Bem, coxete, abre coxete, índice zero, vai estar até lá no A, tá? Vamos lá testar. Vamos aqui no terminal. Já tinha rodado ali. Run, vai-se de slice. Vou ter I, D. Então, eu chamei um arquivo slice de slice.go, vou rodar gol, run. Linha 11, tem um erro aqui. Então, quando você lê os erros, logo após o nome do arquivo, tem os dois pontos, o número da linha, seguido no número da coluna. Então, o número da linha 11. Linha 11, eu tenho um problema aqui. Linha 11, tem um problema na coluna, você note que é a coluna 28, olha aqui no meu editor, no lado aqui embaixo, à esquerda tem linha 11, coluna 28. Então, tem um problema aqui, tá dizendo, tem uma nova linha inesperada, tá? E a gente estava esperando que eu escrevesse uma vírgula ou que já fechasse na hora. Vamos ver aqui o que aconteceu fechar lá, tá? Então, não reclamou, tá? Então, ele não deixa eu fazer isso aqui, tem que ter fechar aqui na hora, ou se você quiser deixar na maneira que eu tinha, eu tenho que adicionar a vírgula, tá? Então, nós sem problemas, não reclamou se eu pôr a vírgula aqui, tá bom? Então, tem esse detalhe aqui que você tem, tá ligado? Então, vamos lá ver o, se realmente mostrou a primeira linha. E é, mostrou x, seguido do trás, de trás, tá? Então, o FMT, opa, o FMT ele vai, ele já sabe como imprimir o pedaço de string na tela. Mas se a gente tirar o zero aqui, talvez você quisesse imprimir toda, todo o tabuleiro, o que é que acontece? Tá aqui. Aí, ele sabe também fazer. Agora, tudo em uma linha só, né? Então, vamos ver se conferir aqui, tá certo? Então, x, traço do traço, para a primeira linha, que é o pedaço de string, primeiro elemento. Agora, o segundo elemento que tem índice 1, né? No tabuleiro, é zero, não é zero, bola x, bola ok? Ou o, qualquer traço, o, x, tá certo? Da igual. Então, só para revisar o que a gente fez aqui até agora, a gente prendeu a fazer pedaços de pedaços. A dot, duplo, colchete, mas quando você pensa nisso, ao você separar aqui, por exemplo, você vai pensar no primeiro colchete, tá certo, você quer um pedaço, mas pedaço de quê? Pedaço de quê? Esse é o tipo aqui que eu falei, pedaço de pedaço de string, né? Então, cada elemento desse cara, de dentro desse cara aqui, vai ser um pedaço de string, o mesmo coisa que você disse aqui. Aí, o índice x, o slice literal, né? O pedaço literal, com três elementos para cada, né? Agora, o tabuleiro tem três elementos e cada linha também tem três elementos, tá? A gente aprendeu como é que acessa a linha de cada tabuleiro, se a gente colchete zero, vai bater na primeira linha, colchete um vai bater na segunda, colchete dois, que é o terceiro, né? Elemento vai bater no terceiro elemento, que vai ser um pedaço de string, que tem valores desses caras aqui. Tá? Então, pra assala 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: