Bases de datos con Go | Obtener un conjunto de datos

Antonio J. Tomas@antonioj-tomas

He mirado en la documentación: https://golang.org/pkg/database/sql/#Rows.Close, y literalmente dice:

"If Next is called and returns false and there are no further result sets, the Rows are closed automatically and it will suffice to check the result of Err."

Si llamamos a Next() y devuelve falso y no hay más resultados, Rows es cerrado automáticamente, y bastará con chequear el resultado de Err().

Esto haría innecesario el hacer el defer rows.Close(). He visto mucho código de acceso a MySQL, que no hace uso de esta sentencia en el mismo.

Por lo que entiendo yo, el uso de esta sentencia solamente previene seguir enumerando en un futuro (Close closes the Rows, preventing further enumeration ), pero esto solo lo veo posible, en el hipotético caso de que se vuelva a hacer uso de la misma variable rows, más adelante.


Escribe una respuesta