Junior — Middle
É possível que uma estrutura contenha dentro de si um objeto da mesma forma estrutural?
sobes.tech IA
Resposta da IA
Sim, em Swift uma estrutura pode conter dentro de si um objeto da mesma estrutura, mas apenas de forma indireta — através de propriedades opcionais ou ponteiros, para evitar uma recursão infinita ao alocar memória.
Exemplo com uma propriedade opcional:
struct Node {
var value: Int
var next: Node? // Referência opcional ao próximo nó
}
Aqui, a estrutura Node contém dentro de si um objeto opcional do mesmo tipo Node. Isso é frequentemente usado para construir listas encadeadas e outras estruturas de dados recursivas.
Não é possível declarar uma propriedade do tipo da estrutura diretamente sem um opcional, pois isso levaria a uma aninhamento infinito e erro de compilação.