- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
ID: go-best-practices/superfluous-else
Language: Go
Severity: Info
Category: Best Practices
Sometimes, the else
block of an if
is unnecessary and can be avoided, especially when there is a return
statement inside the if
block will be executed and the function will terminate. Hence, there is no need to explicitly specify the else
clause.
By removing the else
clause, the code becomes more concise and easier to read. It eliminates redundancy and makes the intention of the code clearer.
To avoid such situations, it is a good coding practice to write code with the fewest possible branches. This makes the code easier to understand and minimizes the chance of introducing bugs.
func main() {
if foo {
return
} else {
return 2
}
}
func main() {
if foo {
println("foo")
return
} else {
return 2
}
}
func main() {
if input == "abc" {
return ""
} else {
if len(value) == 3 {
return []string{fmt.Sprintf("%s", value[2])}
} else {
return []string{fmt.Sprintf("%d abc", len(value)}}
}
}
}
func main() {
if foo {
println("foo")
} else {
return 2
}
}
func main() {
if ret, err := Action(str); err != nil {
return "", err
} else {
return Encode(ret), nil
}
}
func main() {
if ret, err := Action(str); err != nil {
return "", err
} else {
return Encode(Encode2(ret, ret)), nil
}
}
func main() {
if ret, err := Action(str); err == nil {
return Encode(ret), nil
} else {
return err
}
if bar, err := getBarOrErr(); err != nil {
return nil, err
} else {
foo.baz = Baz(bar)
}
if bar, err := getBarOrErr(); err == nil {
return bar;
} else {
baz.Baz(err);
}
}