Olá, meu nome é Mark Nair, e nessas aulas, você aprenderá sobre estruturas de dados no Swift. Analisaremos as estruturas e, em seguida, veremos os tipos de valor. Como usamos strings personalizadas conversíveis, pilhas e genéricos? Vamos revisar rapidamente as estruturas ou structs do Swift. Usamos strucs quando precisamos criar um tipo inteiramente novo de estrutura de dados para trabalhar. Vamos dar uma olhada. Aqui, vou declarar uma estrutura de bicicleta com as propriedades de nome, pneu, PSI, tipo, peso, e se a bicicleta é um passeio confortável. Portanto, iniciamos a palavra-chave struct e, em seguida, nomeamos nossa struct. Neste caso, vou chamá-lo de bicicleta. E então terminamos isso com chaves, e dentro das chaves vamos colocar as propriedades do suporte. Agora, como esta é uma propriedade sem valor, Vou ter que dar um tipo. Então isso é uma corda. Então você pode ver aqui que estou usando tipos diferentes strings de nome e marca. O PSI do pneu é um int, o peso da bicicleta é duplo, e se é um passeio confortável é um Bool. Agora que fiz minha estrutura, isso significa que é seu próprio tipo. Agora posso usar isso criando uma instância dessa estrutura. Pense nisso assim. A estrutura é um projeto, e essa instância é o edifício real que criamos a partir do projeto. Se parece com isso. Vai criar uma nova variável chamada bicicleta de turismo. E isso vai ser igual ao tipo, que vai ser a bicicleta struct. Agora, quando digito os parênteses abertos no pop-up Vou ver os valores das propriedades. Eu posso apenas apertar o retorno, aceitar isso, e agora posso facilmente apenas tabular de um para o outro e colocar os valores. Então, o que eu fiz aqui é que eu disse o nome da moto é Freyja, a marca é Riese e Müller, o PSI do pneu é 25, o peso, bem pesado, 64 libras, e é um passeio confortável, é verdade. Vamos fazer outra instância. Este é para bicicleta de estrada. Novamente, a bicicleta é o tipo, esta estrutura ou o tipo. Parênteses abertos me dão todas as minhas coisas, e então eu posso preencher o resto. Bem desse jeito. Agora, para acessar essas informações, vamos apenas atribuí-lo a uma nova constante. E dentro daqui, vou apenas colocar uma corda. Agora, o que eu gostaria de dizer é qualquer que seja o tipo de bicicleta, o nome da moto, tem um peso específico. E a maneira como faço isso é acessando essas informações da estrutura usando a sintaxe de ponto. Então ponto de bicicleta de turismo, e então há minhas outras informações das propriedades. Eu vou bater nome. E então aqui, peso de ponto de bicicleta de turismo. Aqui vamos nós. O peso da minha bicicleta Freyja, 64,3 libras. Agora, realmente, talvez eu use a marca aqui, vamos tentar de novo. Minha bicicleta Riese e Müller pesa 64,3 libras. Muito bom. Vamos tentar outro. Aqui está uma estrutura chamada animal. Agora vamos fazer uma instância de animal. A mesma coisa, aqui está minha estrutura e, em seguida, abrir parênteses. Aqui estão minhas propriedades e, em seguida, as espécies. Tigre tem quatro patas e tigre sim é onívoro Agora, para acessar essas informações, Vou chamar Tony de Tigre e onívoro, e o resultado será verdadeiro. Aí está. Agora, antes de podermos usar uma instância de nossa estrutura temos que inicializar a instância. E aqui estou inicializando aqui dentro. Vou explicar isso em um segundo, mas se eu fizer algo assim, livre-se desta linha. Isso não funciona. Então, estou tentando fazer Tony the Tiger destruir, mas não posso porque não tenho valores. Estou perdendo argumentos nos parâmetros. Então poderíamos dar a estrutura alguns valores padrão como este. Agora, quando eu dou esses valores aqui, é claro que Swift é inteligente o suficiente para perceber qual é o tipo, então não preciso mais ser explícito sobre isso. E apenas para remover qualquer complexidade extra no código. Mas agora, se eu olhar para Tony, o tigre, e eu chamo as espécies de ponto nele, vejo que tenho macaco, mas Tony, o Tigre, é um tigre, não um macaco. Portanto, os valores padrão, Eu quero substituir esses valores padrão. Então é quando usamos o inicializador membro a membro que vimos um segundo atrás. Então aqui em cima, Tony, o tigre, é a mesma coisa, exceto este parêntese. Não vou aceitar esses valores padrão. Vou substituí-los selecionando this. Você verá aqui na janela pop-up, eu tenho parênteses e, em seguida, entre parênteses com as propriedades dentro dele. O segundo, apenas o parêntese, é quando vou apenas aceitar os valores padrão. Mas a primeira é que vou contar a Swift, Eu preciso fazer um pouco mais de trabalho sobre isso. Agora, Tony, o Tigre é um tigre, e se eu olhar para o número de pernas, quatro, ótimo. Mas se eu olhar para o status, é verdade, embora eu não tenha dito no inicializador membro que Tony the Tiger é verdade ser um onívoro, estou puxando isso do valor padrão aqui da estrutura então não preciso ser específico. Tudo bem, essa é uma rápida visão geral das estruturas. Obrigado por assistir. Fique ligado na próxima aula onde mostrarei o que é um tipo de valor.