gitee.com/wgliang/goreporter@v0.0.0-20180902115603-df1b20f7c5d0/linters/simplecode/testdata/if-simpler-return.go (about) 1 package pkg 2 3 import "errors" 4 5 func fn1() error { 6 var err error 7 8 if err != nil { // MATCH /simplified/ 9 return err 10 } 11 return nil 12 13 _ = 0 14 15 if err != nil { // MATCH /simplified/ 16 return err 17 } 18 return err 19 } 20 21 func fn2() (int, string, error) { 22 var x int 23 var y string 24 var z int 25 var err error 26 27 if err != nil { // MATCH /simplified/ 28 return x, y, err 29 } 30 return x, y, nil 31 32 _ = 0 33 34 if err != nil { // MATCH /simplified/ 35 return x, y, err 36 } 37 return x, y, err 38 39 _ = 0 40 41 if err != nil { 42 return x, y, err 43 } 44 return z, y, err 45 46 _ = 0 47 48 if err != nil { 49 return 0, "", err 50 } 51 return x, y, err 52 53 _ = 0 54 55 // TODO(dominikh): currently, only returning identifiers is 56 // supported 57 if err != nil { 58 return 42, "foo", err 59 } 60 return 42, "foo", err 61 } 62 63 func fn3() error { 64 var err error 65 if err != nil { 66 return err 67 } 68 if err != nil { 69 return err 70 } 71 return nil 72 } 73 74 func fn4(i int, err error) error { 75 if err != nil { 76 return err 77 } else if i == 1 { 78 return errors.New("some non-nil error") 79 } 80 return nil 81 } 82 83 func fn5() interface{} { 84 var i *int 85 if i != nil { 86 return i 87 } 88 return nil 89 90 var v interface{} 91 if v != nil { // MATCH /simplified/ 92 return v 93 } 94 return nil 95 } 96 97 func fn6() { 98 _ = func() error { 99 var err error 100 if err != nil { // MATCH /simplified/ 101 return err 102 } 103 return nil 104 } 105 }