This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: go-best-practices/defer-lock

Language: Go

Severity: Info

Category: Best Practices

Description

Deferring calls to Mutex.Lock() is nearly always a mistake, either by introducing a defer where it doesn’t belong, or by mistyping Unlock as Lock.

Non-Compliant Code Examples

func test() {
    mutex.Lock()
    defer mutex.Lock()
}

func test() {
    defer mutex.Lock()
}

func test() {
    mutex.RLock()
    defer mutex.RLock()
}

func test() {
    defer mutex.RLock()
}

Compliant Code Examples

func test() {
    mutex.Lock()
    defer mutex.Unlock()
}

func test() {
    mutex.RLock()
    defer mutex.RUnlock()
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Integraciones sin problemas. Prueba Datadog Code Security