This product is not supported for your selected Datadog site. ().
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

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

Seamless integrations. Try Datadog Code Security

PREVIEWING: ida.adjivon/rtrieu/DOCS-10715-ET-standalone