一般来说,我们都听说过编程语言中的函数或过程。然而,我发现我几乎可以互换地使用这些术语(这可能是非常错误的)。
我的问题是:
它们的功能、目的和用途有什么不同?
请举例说明。
一般来说,我们都听说过编程语言中的函数或过程。然而,我发现我几乎可以互换地使用这些术语(这可能是非常错误的)。
我的问题是:
它们的功能、目的和用途有什么不同?
请举例说明。
当前回答
在大多数情况下:函数返回一个值,而过程不返回。两者都是组合在一起做相同事情的代码片段。
在函数式编程上下文中(所有函数都返回值),函数是一个抽象对象:
f(x)=(1+x)
g(x)=.5*(2+x/2)
这里,f和g是同一个函数,但是过程不同。
其他回答
如果我们在这里与语言无关,那么过程通常指定了可靠且幂等地实现某个结果所需的一系列行为。也就是说,一个过程基本上就是一个算法。
另一方面,函数是较大程序中某种程度上独立的代码段。换句话说,函数是过程的实现。
程序: 1.过程是定义参数化计算的语句的集合。 2.过程不能返回值。
3.不能从函数调用过程。
功能 1.函数在结构上类似于过程,但在语义上以数学函数为模型。 2.它可以返回值 3.函数可以从过程中调用。
C语言示例:
// function
int square( int n ) {
return n * n;
}
// procedure
void display( int n ) {
printf( "The value is %d", n );
}
尽管你应该注意到C标准没有谈论过程,只有函数。
在程序内部我们可以使用DML(插入/更新/删除)语句,但在函数内部我们不能使用DML语句。
过程可以同时有输入/输出参数,但函数只能有输入参数。
在存储过程中可以使用Try-Catch块,但在函数中不能使用Try-Catch块。
在选择语句中不能使用存储过程,但在函数中可以使用。
存储过程可以返回0或n个值(最多1024个),但函数只能返回1个必须的值。
存储过程不能从函数调用,但可以从存储过程调用函数。
在存储过程中可以使用事务,但在函数中不能使用事务。
我们不能在Where/Having/select部分的Sql语句中使用存储过程,但可以使用in函数。
我们不能连接存储过程,但可以连接函数。
更多. .点击这里…http://dotnet-developers-cafe.blogspot.in/2013/08/difference-between-stored-procedure-and.html
在С#/Java中,函数是返回特定值的代码块,而过程是返回void(什么都没有)的代码块。在c# /Java中,函数和过程通常都被称为方法。
//This is a function
public DateTime GetCurrentDate()
{
return DateTime.Now.Date;
}
//This is a procedure(always return void)
public void LogMessage()
{
Console.WriteLine("Just an example message.");
}