Inspectopedia
 
2024.3

'defer' in the loop

Info
Performance
New
Last modified: 03 December 2024

Reports defer statements inside loops.

Using defer in loops can lead to resource leaks or unpredictable execution order of statements.

Example:

Calls of defer row.Close() inside the loop are not executed until the function completes its execution. Not at the end of each step of the for loop. Such implementation might lead to overflow of the function's stack and other issues.