Python “o” equivalente en Swift?

Debido a los comportamientos geniales de Swift, estaba buscando una or equivalente en Swift.

Algo como esto:

 variable = value or default 

Codifiqué el mio

 func |(a:T?, b:T) -> T { if let a = a { return a } return b } 

Pero me preguntaba si alguna implementación predeterminada de esto ya existe en Swift?

Edit: Gracias a las respuestas encontré la referencia en el libro Swift:

Operador Coalescente Nil

El operador de unión nula ( a ?? b ) desenvuelve una a opcional si contiene un valor, o devuelve un valor predeterminado b si a es nula. La expresión a es siempre de un tipo opcional. La expresión b debe coincidir con el tipo que está almacenado dentro de a .

El operador de unión nula es una taquigrafía para el código siguiente:

  a != nil ? a! : b 

El código anterior utiliza el operador condicional ternario y el desenvolvimiento forzado ( a! ) Para acceder al valor envuelto dentro de a cuando a no es nulo, y para devolver b contrario. El operador de unión nula proporciona una forma más elegante de encapsular esta comprobación y desenvolvimiento condicionales de forma concisa y legible. ( fuente )

Utilizar ?? :

 var optional:String? var defaultValue:String = "VALUE" var myString:String = optional ?? defaultValue print(myString) 

Podrías usar el operador coalescente nulo.

 let variable = optional ?? default