github.com/nozzle/golangci-lint@v1.49.0-nz3/test/testdata/nlreturn.go (about) 1 //golangcitest:args -Enlreturn 2 package testdata 3 4 func cha() { 5 ch := make(chan interface{}) 6 ch1 := make(chan interface{}) 7 ch2 := make(chan interface{}) 8 9 select { 10 case <-ch: 11 return 12 13 case <-ch1: 14 { 15 a := 1 16 _ = a 17 { 18 a := 1 19 _ = a 20 return // want "return with no blank line before" 21 } 22 23 return 24 } 25 26 return 27 28 case <-ch2: 29 { 30 a := 1 31 _ = a 32 return // want "return with no blank line before" 33 } 34 return // want "return with no blank line before" 35 } 36 } 37 38 func baz() { 39 switch 0 { 40 case 0: 41 a := 1 42 _ = a 43 fallthrough // want "fallthrough with no blank line before" 44 case 1: 45 a := 1 46 _ = a 47 break // want "break with no blank line before" 48 case 2: 49 break 50 } 51 } 52 53 func foo() int { 54 v := []int{} 55 for range v { 56 return 0 57 } 58 59 for range v { 60 for range v { 61 return 0 62 } 63 return 0 // want "return with no blank line before" 64 } 65 66 o := []int{ 67 0, 1, 68 } 69 70 return o[0] 71 } 72 73 func bar() int { 74 o := 1 75 if o == 1 { 76 if o == 0 { 77 return 1 78 } 79 return 0 // want "return with no blank line before" 80 } 81 82 return o 83 } 84 85 func main() { 86 return 87 } 88 89 func bugNoAssignSmthHandling() string { 90 switch 0 { 91 case 0: 92 o := struct { 93 foo string 94 }{ 95 "foo", 96 } 97 return o.foo // want "return with no blank line before" 98 99 case 1: 100 o := struct { 101 foo string 102 }{ 103 "foo", 104 } 105 106 return o.foo 107 } 108 109 return "" 110 } 111 112 func bugNoExprSmthHandling(string) { 113 switch 0 { 114 case 0: 115 bugNoExprSmthHandling( 116 "", 117 ) 118 return // want "return with no blank line before" 119 120 case 1: 121 bugNoExprSmthHandling( 122 "", 123 ) 124 125 return 126 } 127 } 128 129 func bugNoDeferSmthHandling(string) { 130 switch 0 { 131 case 0: 132 defer bugNoDeferSmthHandling( 133 "", 134 ) 135 return // want "return with no blank line before" 136 137 case 1: 138 defer bugNoDeferSmthHandling( 139 "", 140 ) 141 142 return 143 } 144 } 145 146 func bugNoGoSmthHandling(string) { 147 switch 0 { 148 case 0: 149 go bugNoGoSmthHandling( 150 "", 151 ) 152 return // want "return with no blank line before" 153 154 case 1: 155 go bugNoGoSmthHandling( 156 "", 157 ) 158 159 return 160 } 161 }