函数式编程 - 函数类型
函数有两种类型 -
- 预定义函数
- 用户定义函数
在本章中,我们将详细讨论函数。
预定义函数
这些函数内置于语言中以执行操作并存储在标准函数库中。
例如- C++ 中的“Strcat”和 Haskell 中的“concat”用于附加两个字符串,C++ 中的“strlen”和 Python 中的“len”用于计算字符串长度。
C++中打印字符串长度的程序
以下程序展示了如何使用 C++ 打印字符串的长度 -
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main() {
char str[20] = "Hello World";
int len;
len = strlen(str);
cout<<"String length is: "<<len;
return 0;
}
它将产生以下输出 -
String length is: 11
Python中打印字符串长度的程序
以下程序展示了如何使用 Python(一种函数式编程语言)打印字符串的长度 -
str = "Hello World";
print("String length is: ", len(str))
它将产生以下输出 -
('String length is: ', 11)
用户定义函数
用户定义的函数由用户定义来执行特定的任务。有四种不同的模式来定义函数 -
- 无参数且无返回值的函数
- 没有参数但有返回值的函数
- 有参数但无返回值的函数
- 带参数和返回值的函数
无参数且无返回值的函数
下面的程序展示了如何在C++中定义一个没有参数且没有返回值的函数-
#include <iostream>
using namespace std;
void function1() {
cout <<"Hello World";
}
int main() {
function1();
return 0;
}
它将产生以下输出 -
Hello World
以下程序展示了如何在Python中定义类似的函数(无参数且无返回值)-
def function1():
print ("Hello World")
function1()
它将产生以下输出 -
Hello World
没有参数但有返回值的函数
以下程序展示了如何在C++中定义一个不带参数但有返回值的函数-
#include <iostream>
using namespace std;
string function1() {
return("Hello World");
}
int main() {
cout<<function1();
return 0;
}
它将产生以下输出 -
Hello World
以下程序展示了如何在Python中定义类似的函数(不带参数,但有返回值):
def function1(): return "Hello World" res = function1() print(res)
它将产生以下输出 -
Hello World
有参数但无返回值的函数
以下程序展示了如何在C++中定义带参数但不带返回值的函数-
#include <iostream>
using namespace std;
void function1(int x, int y) {
int c;
c = x+y;
cout<<"Sum is: "<<c;
}
int main() {
function1(4,5);
return 0;
}
它将产生以下输出 -
Sum is: 9
以下程序展示了如何在Python中定义类似的函数-
def function1(x,y):
c = x + y
print("Sum is:",c)
function1(4,5)
它将产生以下输出 -
('Sum is:', 9)
带参数和返回值的函数
以下程序展示了如何在 C++ 中定义一个不带参数但有返回值的函数 -
#include <iostream>
using namespace std;
int function1(int x, int y) {
int c;
c = x + y;
return c;
}
int main() {
int res;
res = function1(4,5);
cout<<"Sum is: "<<res;
return 0;
}
它将产生以下输出 -
Sum is: 9
以下程序展示了如何在Python中定义类似的函数(带有参数和返回值) -
def function1(x,y):
c = x + y
return c
res = function1(4,5)
print("Sum is ",res)
它将产生以下输出 -
('Sum is ', 9)