Sobes.tech
Junior — Middle

Explique as diferenças entre os principais tipos nil, void e never na programação.

sobes.tech IA

Resposta da IA

Na programação, os tipos-chave nil, void e never têm significados diferentes e são usados em contextos diferentes:

  • nil — geralmente indica a ausência de valor ou "vazio" para ponteiros ou tipos de referência. Em linguagens como Swift ou Objective-C, nil significa que a variável não aponta para nenhum objeto.

  • void — é usado para indicar que uma função ou método não retorna nenhum valor. Por exemplo, uma função com tipo void não retorna resultado.

  • never — é um tipo que indica que a função nunca devolve o controlo (por exemplo, sempre chama um erro ou entra num ciclo infinito). Em Swift, esse tipo é Never. É útil para funções que terminam o programa ou geram um erro fatal.

Exemplo em Swift:

func doNothing() -> Void {
    // não devolve nada
}

func fail() -> Never {
    fatalError("O programa terminou com um erro")
}

var optionalObject: String? = nil  // nil indica a ausência de valor