Disposable Not Disposed (ARCH5080)
Ce contenu n’est pas encore disponible dans votre langue.
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.
Incorrect
Section titled “Incorrect”func read(path string) ([]byte, error) { f, err := os.Open(path) if err != nil { return nil, err } return io.ReadAll(f)}Correct
Section titled “Correct”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.