Zum Inhalt springen

Disposable Not Disposed (ARCH5080)

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Key go.performance.disposable-not-disposed · Severity error · Category performance

A resource with a Close method that is created but never released leaks. Use defer x.Close() right after creating it.

func read(path string) ([]byte, error) {
f, err := os.Open(path)
if err != nil {
return nil, err
}
return io.ReadAll(f)
}
func read(path string) ([]byte, error) {
f, err := os.Open(path)
if err != nil {
return nil, err
}
defer f.Close()
return io.ReadAll(f)
}

Add defer x.Close() immediately after creating the resource.