函数调用时,参数带形参及冒号

看到下面的语法,其他语言都没见过这种语法

int GetValue(string prompt, int min, int max)
{
    int result;
    do
    {
        result = SnapsEngine.ReadInteger(prompt);
    } while (result < min || result > max);
    return result;
}
int age = GetValue(prompt: "Enter your age in years", min: 0, max: 100);
int height = GetValue(prompt: "Enter your height in inches", min: 30, max: 96);

然后在stack overflow上看到使用冒号的各种情形:

https://stackoverflow.com/questions/17034475/in-c-sharp-what-category-does-the-colon-fall-into-and-what-does-it-really

作用就是,指定形参名:

Console.WriteLine(value: "Foo");

value一定要与声明中的形参名一致,不能改成其他名称,否则出错,所以, 猜测就是,冒号前的是形参名,冒号后的是实参,如果不用这种写法,参数顺序一定不能乱,如果使用这种语法,对参数位置没有要求,可以随意写。

原文地址:https://www.cnblogs.com/jshchg/p/12076358.html

时间: 2024-10-04 12:39:44

函数调用时,参数带形参及冒号的相关文章

在函数调用时:位置形参、位置实参、关键字实参的特点

'''形参 在函数定义阶段括号内定义的参数,称之为形式参数,简称形参, 相当于变量名. ''' def func(x,y): if x > y: print(x) print(y) '''实参 在函数调用阶段括号内传入的参数,称之为实际参数,简称实参, 相当于变量的值. ''' func(1,2) '''位置参数 位置形参: 在函数定义阶段,按照从左到右的顺序依次定义的形参, 称之为位置形参. 特点: 按照位置定义的形参,都必须被传值,多一个不行,少一个也不行. 位置实参: 在函数调用阶段,按照

(一)Python入门-5函数:06参数类型-位置参数-默认值参数-命名参数-可变参数-强制命名参数

参数的几种类型: 位置参数: 函数调用时,实参默认按位置顺序传递,需要个数和形参匹配.按位置传递的参数,称为: “位置参数” 默认值参数: 我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的.称为“默认值参数”. 默认值参数放到位置参数后面. 命名参数: 我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”. 可变参数: 可变参数指的是“可变数量的参数”.分两种情况: 1. *param(一个星号),将多个参数收集到一个“元组”对象中. 2. **param(两个星号

php中函数不确定参数个数时获取所有参数

func_get_arg(),func_get_args()和func_num_args()的用法 这三个函数呢,都是以func_打头的,顾名思义,是跟php的函数有关的.我们在写类的时候也经常用到这几个函数:注意,这三个函数只能用在函数内部:否则会报错: $number = func_num_args(); 返回INT //返回函数调用时,给出参数的数量: $para = func_get_arg(n); //可以返回第N-1位参数的值,因为引索的起始是0 $arr = func_get_ar

传递给函数的隐含参数:arguments及递归函数的实现

传递给函数的隐含参数:arguments当进行函数调用时,除了指定的参数外,还创建一个隐含的对象——arguments.arguments是一个类似数组但不是数组的对象,说它类似是因为它具有数组一样的访问性质,可以用arguments[index]这样的语法取值,拥有数组长度属性length.arguments 对象存储的是实际传递给函数的参数,而不只局限于函数声明所定义的参数列表,例如:function func(a,b){alert(a);alert(b);for(var i=0;i<arg

判断函数传递的参数个数

看zepto源码时,看到了很多基于1 in arguments和0 in arguments的判断. 基本了解是在判断函数调用时,是否传递了需要的参数, 但真心不明白这个0和1究竟是啥. 经高人指点,其实应当是arguments类数组的下标. i当做arguments的属性,输出. 当判断1的时候,表示如果存在至少两个参数,才会输出1,否则不会输出任何内容. 即0和1或者更大的数字,是类数组的arguments的下标.

Python函数的默认参数的设计【原创】

在Python教程里,针对默认参数,给了一个“重要警告”的例子: def f(a, L=[]): L.append(a) return L print(f(1)) print(f(2)) print(f(3)) 默认值只会执行一次,也没说原因.会打印出结果: [1] [1, 2] [1, 2, 3] 因为学的第一门语言是Ruby,所以感觉有些奇怪. 但肯定的是方法f一定储存了变量L. 准备知识:指针 p指向不可变对象,比如数字.则相当于p指针指向了不同的内存地址. p指向的是可变对象,比如lis

【转】python函数参数带星号*

原文地址: http://www.cnblogs.com/tips4python/archive/2011/05/30/function_with_stay.html 1 def function_with_one_star(*t): 2 print(t, type(t)) 3 4 def function_with_two_stars(**d) 5 print(d, type(d)) 1 function_with_one_star(1, 2, 3) 2 function_with_two_s

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递 *arg 代表的是arg元祖,**kwd代表的是kwd名称的字典. 那函数传参数或是使用参数的时候,什么时候带*号什么时候不带*号呢?我这点总是理解不上来,或者说有点混乱.参考下面几个小函数,来理解下 >>> def a(*x): print (x) >>> def b(x): print(x) >>> def c(*x): print(*x) >>> x = (1

C++ 中获取 可变形参函数中的参数

#include <iostream> #include <stdarg.h> using namespace std; int ArgFunc(const char * str, ...) { va_list ap; // 定义参数列表变量 va_start(ap, str); // 确定参数位置,表明从 str 开始获取参数 // 开始获取参数 var_arg(ap, 数据类型) 返回获取的值 cout<<va_arg(ap, int)<<endl; c