📜  D编程-函数(1)

📅  最后修改于: 2023-12-03 15:00:33.703000             🧑  作者: Mango

D编程-函数

什么是函数?

函数是一段执行特定任务的代码集合。D编程语言支持函数式编程和过程式编程。

函数通常需要传递零个或多个参数,并可能或可能不返回值。

函数的语法

函数 通常由以下几部分组成:

返回类型 函数名 (参数列表) {
   函数体
}
  • 返回类型 - 函数返回的数据类型

  • 函数名 - 函数的名称

  • 参数列表 - 传递给函数的参数,参数是可选的,可以有多个参数,每个参数之间用逗号分隔。

  • 函数体 - 函数的代码集合,用于完成特定的任务。函数体包含在大括号中。

例如,定义一个名为 greet 的函数:

void greet(string name) {
    writeln("Hello ", name);
}

函数接受一个字符串类型的参数 name,并打印 Helloname 到控制台。

函数的参数

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 的阶乘。