Sobes.tech
Junior — Middle

Quais restrições existem para valores brutos (raw value) em tipos ou construções linguísticas específicas?

sobes.tech IA

Resposta da IA

No Swift, valores brutos (raw values) são usados, por exemplo, em enumerações (enum) com rawValue. As principais restrições para rawValue:

  • O valor bruto deve ser do mesmo tipo para todos os casos do enum.
  • O tipo de rawValue deve ser literal (por exemplo, String, Int, Character, ou outro tipo que suporte literais).
  • Não é permitido usar tipos complexos ou estruturas como rawValue.
  • Todos os rawValues devem ser únicos dentro do enum.

Exemplo de enum com rawValue:

enum Direction: String {
    case north = "N"
    case south = "S"
    case east = "E"
    case west = "W"
}

Aqui, rawValue é uma string, e todos os valores são únicos. Se rawValue não for especificado explicitamente, para Int eles serão numerados automaticamente a partir de 0.