이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

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: yuqing.bian/fix-sources-searchterm