如何编写常见语言带默认参数值的函数
我們在定義函數時,有時候需要讓參數帶默認值,在各種語言中,帶默認值的參數寫法也不盡相同。
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") 即可。
轉載于:https://www.cnblogs.com/hanganglin/p/4311894.html
總結
以上是生活随笔為你收集整理的如何编写常见语言带默认参数值的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx 正向代理配置
- 下一篇: Linux之shell脚本遍历文件夹下所