什么意味着这种回归

时间:2017-12-07 09:12:32

标签: objective-c if-statement

1 return;是什么意思?如果p<0这套方法给了我什么呢?

-(void)setSomething:(int)p{
   if (p<0)
      return;
   _p=p
}

2和它有什么不同?

-(void)setSomething:(int)p{
   if (p>=0){
      _p=p
   }else{
      return;
   }
}

3如果我省略上面的else语句,会发生什么?

1 个答案:

答案 0 :(得分:1)

你有3种方法来编写一个有效地做同样事情的函数。如果p的值不是负数,则它们都为_p赋值p。

    函数中的
  1. (void)表示它不会返回任何内容。 因此,return;除了退出函数外没有做任何事情。

  2. &安培; 3.对于返回类型为void的函数,在函数体的末尾不需要显式的return语句。

  3. -(void)setSomething:(int)p{
      <code>
      return;
    }
    

    -(void)setSomething:(int)p{
      <code>
    }
    

    实际上是一样的。

    在其他情况为2的情况下,没有其他行将在return语句之后执行。即使你有else块,程序也将退出该函数。