| package parametersideeffect |
| |
| func argumentWithSideEffectLHS() int { |
| n := 0 |
| f := func() int { n++; return n } |
| x := f() |
| if f() > x { // condition contains expression with side-effect |
| x = f() |
| } |
| return x |
| } |
| |
| func argumentWithSideEffectRHS() int { |
| n := 0 |
| f := func() int { n++; return n } |
| x := f() |
| if x < f() { // condition contains expression with side-effect |
| x = f() |
| } |
| return x |
| } |
| |
| func onlyFirstAssignmentHasSideEffect() int { |
| n := 0 |
| f := func() int { n++; return n } |
| x := max(f(), |
| // want "if statement can be modernized using max" |
| n) |
| return x |
| } |