📅  最后修改于: 2023-12-03 15:00:33.703000             🧑  作者: Mango
函数是一段执行特定任务的代码集合。D编程语言支持函数式编程和过程式编程。
函数通常需要传递零个或多个参数,并可能或可能不返回值。
函数
通常由以下几部分组成:
返回类型 函数名 (参数列表) {
函数体
}
返回类型
- 函数返回的数据类型
函数名
- 函数的名称
参数列表
- 传递给函数的参数,参数是可选的,可以有多个参数,每个参数之间用逗号分隔。
函数体
- 函数的代码集合,用于完成特定的任务。函数体包含在大括号中。
例如,定义一个名为 greet 的函数:
void greet(string name) {
writeln("Hello ", name);
}
函数接受一个字符串类型的参数 name
,并打印 Hello
和 name
到控制台。
D编程语言中的函数可以接受任意数量的参数。函数参数的所有类型都可以是基本数据类型,例如数字、字符串、字符、布尔值等等。
下面是一个接受多个整数参数并返回它们的和的示例:
int sum(int a, int b, int c) {
return a + b + c;
}
在D语言中,函数可以有一个返回值,也可以没有。如果函数有返回值,则必须在函数主体中使用 return 语句返回值。
下面是一个带有返回值的函数示例:
int add(int a, int b) {
int sum = a +b;
return sum;
}
要调用一个函数,请使用函数名和所需的参数列表:
greet("Dylan"); //调用 greet 函数,并将“Dylan”传递给它
int res = add(10, 20); //调用 add 函数,并将 10 和 20 传递给它
D语言支持匿名函数,也称为 lambda 表达式。
匿名函数通常用于编写与特定上下文相关的逻辑。以下是一个使用匿名函数计算阶乘的示例:
auto factorial = ((int n) {
return n == 1 ? 1 : n * factorial(n-1);
});
writeln(factorial(5));
factorial
函数是一个递归函数,匿名函数用于定义递归的逻辑,这个函数计算 5 的阶乘。