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  }