Menu
Coddy logo textTech

O Método Contains

Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 76 de 86.

Ao trabalhar com arrays, você frequentemente precisa verificar se um valor específico existe antes de realizar uma ação. O Swift fornece o método contains() para exatamente este propósito — ele retorna true se o elemento for encontrado, e false caso contrário.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// Temos bananas!

Isso é muito mais limpo do que escrever um loop para pesquisar no array manualmente. O método funciona com qualquer tipo de array, quer ele contenha strings, números ou outros valores:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

Um caso de uso comum é validar a entrada do usuário em relação a uma lista de valores permitidos:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// Escolha válida

O método contains() também funciona com strings para verificar se uma substring existe dentro de uma string maior:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

Desafio

Fácil

Você receberá duas linhas de entrada:

  1. Uma lista de nomes de usuário permitidos separada por vírgulas (ex: admin,user,guest,moderator)
  2. Um nome de usuário para verificar

Verifique se o nome de usuário existe na lista permitida. Se existir, imprima Access granted. Caso contrário, imprima Access denied.

Passos:

  1. Leia a lista separada por vírgulas e divida-a em um array de strings
  2. Leia o nome de usuário para verificar
  3. Use o método contains() para determinar se o nome de usuário está na lista permitida
  4. Imprima a mensagem apropriada com base no resultado

Dica: Use components(separatedBy:) para dividir uma string em um array. Por exemplo:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

Experimente você mesmo

// Leia a lista de nomes de usuário permitidos separada por vírgulas
let allowedList = readLine()!

// Leia o nome de usuário para verificar
let username = readLine()!

// TODO: Escreva seu código abaixo
// 1. Divida a allowedList em um array usando components(separatedBy:)
// 2. Use contains() para verificar se o username está no array
// 3. Imprima "Access granted" ou "Access denied" com base no resultado
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Swift