VB 中Sub和Function的区别

Sub可以理解为执行一个过车,一个操作。

Function在执行完过后,还要返回一个结果。

Sub:过程;Function:函数,可以带返回值。

语法:

       Sub SubName(参数1,参数2,...)

        ...

       End Sub

       Function FunctionName(参数1,参数2,...)

       ...

      FunctionName=返回值

      End Function

  调用时:

      Sub 只能用: SubName(参数1,参数2,...)              变量=FunctionName(参数1,参数2,...)

     以上均未讲出根本:

     Sub与Function均可以有返回值。所以首先要讲清楚返回方式:有两种,过程或函数返回,即分配与过程或函数同名的返回变量地址。Function分配,但Sub不分配。VB有此方式加以区分,VC则用void声明不用分配。即如p=aa(),若aa()时sub则什么也的不懂,还会报错。但函数则会得到相应的数值。其次,参数返回,VB中缺省用地址传参,即能返回。但声明为BYVAL即值传参,则不可返回,所以,不存在灵活性的差别。比如函数function bb(a,b),
调用时可以bb m, n也可以p=bb(m,n).
实际,如果确认不会失败,才能用SUB,否则,必须要用FUNCTION以确认是否成功或取得返回值。所以编程,应少用SUB,少用 SubName 参数1,
参数2,...的调用方式。


sub是过程不需要返回值,function是函数,需要返回值,如下:
Function
NameOfFunction(parameter1, parameter2)
'some code
NameOfFunction = return
value
End Function
________________________________________________
Sub
NameOfSubRoutine(parameter1, parameter2)
'some code...
End Sub

   

    

原文地址:https://www.cnblogs.com/ma_x/p/4824350.html