天天看點

Java、Python、PHP、JavaScript函數接收不定參數

Java

三個點

...

支援函數接收不定參數和數組

Java >= 1.5

class Demo{
    public static void showArgs(int ...args){
        for(int arg : args){
            System.out.println(arg);
        }
    }

    public static void main(String[] args) {
        // 1、傳入不定參數
        showArgs(1, 2, 3);
        // 1 2 3
        
        // 2、傳入數組
        int[] list = new int[]{1, 2, 3};
        showArgs(list);
        // 1 2 3
    }
}      

Python

使用

*

接收不定參數和清單解包操作

def showArgs(*args):
    for arg in args:
        print(arg)


def main():

    # 1、傳入不定參數
    showArgs(1, 2, 3)
    # 1 2 3

    lst = [1, 2, 3]
    # 2、傳入清單
    showArgs(lst)
    # [1, 2, 3]

    # 3、将清單解包後傳入
    showArgs(*lst)
    # 1 2 3
    
if __name__ == '__main__':
    main()      

PHP

PHP 5.6+

3個點

...

可以接收不定參數和數組解包

<?php
function showArgs(...$args){
    foreach ($args as $arg) {
        echo $arg . PHP_EOL;
    }
}    

// 1、接收不定參數
showArgs(1, 2, 3);
// 1 2 3

// 2、接收數組
$list = [1, 2, 3];
showArgs($list);
// Array

// 3、數組解包後傳入
showArgs(...$list);
// 1 2 3
      

JavaScript

...

function showArgs(...args){
    for(arg of args){
        console.log(arg);
    }
}

// 1、傳入不定參數
showArgs(1, 2, 3);
//1 2 3


list = [1, 2, 3];
// 2、傳入清單
showArgs(list);
// [ 1, 2, 3 ]

// 3、傳入解包後的清單
showArgs(...list);
//1 2 3