函数式编程 - 函数类型
函数有两种类型 −
- 预定义函数
- 用户定义的函数
在本章中,我们将详细讨论函数。
预定义函数
这些是内置于语言中用于执行操作的函数,并存储在标准函数库中。
例如 − 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)