Option y Result en Rust: enums, pattern matching y errores sin nil
Los dos primeros posts de esta serie, Ownership en Rust y Borrowing en Rust, iban de memoria: quién es dueño de cada valor y quién puede tocarlo. Este va de otra pregunta que en Rust también responde el compilador: qué pasa cuando un valor puede no estar o una operación puede fallar. Durante años usé Go para todo lo que no hacía con Rails, y en Go esas dos preguntas tienen la misma respuesta: nil. Un puntero que quizá no apunta a nada, un error que quizá no es nada, y un if err != nil detrás de cada llamada....
Leer más →