4 ms·
Other comments are missing out the other key point: go packages are sometimes imported for side effects, and this pattern is common enough in the community (alt
by icxa 7y ago
Other comments are missing out the other key point: go packages are sometimes imported for side effects, and this pattern is common enough in the community (although albeit slightly discouraged now). So unused imports can still impact your code due to the init() functions
- atombender 7y agoUnused imports that are imported solely for side effects should be imported this way to avoid that problem: import ( _ "github.com/some/package" ) Given that this is the only way to have unused imports with mainline Go — in other words, it's impossible to accidentally remove one once it's been declared this way — I'm not sure I see what the argument is.
- icxa 7y ago> I'm not sure I see what the argument is. That there are other reasons why unused imports are a compilation error in go, and it isn't as simple as turning them into warnings
- apta 7y ago> go packages are sometimes imported for side effect Sounds like another source of errors.
- icxa 7y agoFatal errors would probably be bubbled up via a panic, in which you can cover in a recover() block