Módulo 04 · Interfaces y errores — Lección 2 de 3 · ~9 min
Errores
Un error es un valor
Swift lanza excepciones. Go no. En Go, un error es un valor ordinario que retornas junto con tu resultado — no hay try/catch, ni desenrollado de pila para el caso cotidiano. Una función que puede fallar retorna dos cosas: el resultado y un error.
La convención es de hierro: el error es el último valor de retorno, y su tipo es la interface incorporada error. Cuando todo funcionó, el error es nil. Cuando algo salió mal, es un error no-nil que describe qué.
erroren sí mismo es solo una interface — un método,Error() string. Cualquier cosa que pueda describirse a sí misma como un string es un error. (Sí, es exactamente la idea de interface de la Lección 1.)