我们在定义函数时,有时候需要让参数带默认值,在各种语言中,带默认值的参数写法也不尽相同。

C#函数默认值

   public void DemoMethod(String name, String job="programmer", String address="Hangzhou") { }

1、赋值方式一,赋值在不指定参数的前提下,按顺序逐个给参数进行赋值:

   DemoMethod("hans");

   DemoMethod("hans", "student"); 

   DemoMethod("hans", "student", "Ningbo");

2、赋值方式二,通过“参数名:参数值”来直接给某个参数赋值,直接跳过某些带默认值的参数:

   DemoMethod("hans", address: "Ningbo");

注意事项:

   ① 缺省参数的声明只能放在普通参数之后;

   ② 指定的缺省值必须是一个常量,如方法 void TestMeothod(DateTime date = DateTime.Now){} 是不能通过编译的;

Java函数默认值

   Java目前还不支持函数参数带默认值,只能通过重载来实现此功能,实现方法如下所示:

public void DemoMethod(String name){
    DemoMethod(name,"programmer","Hangzhou");
} 
public void DemoMethod(String name,String job){
    DemoMethod(name,job,"Hangzhou");
}
public void DemoMethod(String name,String job,String address){}
PHP函数默认值

   function TestMethod($name, $job="programmer", $address="HangZhou") { }

   PHP支持函数默认值,但是不支持跳跃式给参数赋值,如在方法TestMethod中,如果想给$name和$address赋值,$job使用默认值,与C#不同的是,这在PHP是不能直接实现的,但可以通过改动函数人为实现,如下所示:

function TestMethod($name,$job="programmer",$address="HangZhou"){
        if($job===null) $job="programmer";
        print "name=$name,job=$job,address=$address";
}

   然后传入参数:TestMethod("hans",null,"Australia") 即可。

相关文章:

  • 2021-08-27
  • 2022-01-22
  • 2021-10-18
  • 2022-12-23
  • 2021-11-29
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-02
  • 2022-12-23
  • 2021-05-28
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案