176
177 switch machine.State {
178 case "stopped":
179 break180 case "destroyed":
181 return fmt.Errorf("machine %s has already been destroyed", machine.ID)
182 case "started":
308
309 logger.Debugf("querying for release resulted to %v", r.Version)
310 case errors.Is(err, context.Canceled), errors.Is(err, context.DeadlineExceeded):
311 break312 default:
313 logger.Warnf("failed querying for new release: %v", err)
314 }
103func lock(ctx context.Context) (unlock filemu.UnlockFunc, err error) {
104 switch unlock, err = filemu.Lock(ctx, lockPath()); {
105 case err == nil:
106 break // all done107 case ctx.Err() != nil:
108 err = ctx.Err() // parent canceled or deadlined
109 default:
117func lock(ctx context.Context, logger *log.Logger) (unlock filemu.UnlockFunc, err error) {
118 switch unlock, err = filemu.Lock(ctx, lockPath()); {
119 case err == nil:
120 break // all done121 case ctx.Err() != nil:
122 err = ctx.Err() // parent canceled or deadlined
123 default:
84
85 switch err := unmarshal(path, &m); {
86 case err == nil, os.IsNotExist(err):
87 break 88 default:
89 return err
90 }
Redundant statements, like a break at the end of a case block, can be removed for improving the code's readability.
loop:
for {
switch a {
case 1:
a++
println("one")
break // unnecessary
case 2:
println("two")
break loop
default:
println("default")
}
}
loop:
for {
switch a {
case 1:
a++
println("one")
case 2:
println("two")
break loop
default:
println("default")
}
}