函数
- 介绍函数的分类及调用。
- 介绍gs中函数式的用法。
备注
TODO : 介绍一下override
函数调用
函数(Function)实际上就是一种方法,每个函数都有其特定的功能,而Function就是实现这个功能的方法。
外部函数和内部函数
GS中的函数主要分成两种:外部函数和内部函数,它们的区别是;
- 最主要区别是外部函数是GS底层实现的函数,而内部函数则是使用GS来实现的函数;
- 内部函数可以依赖于外部函数取实现,外部函数可以实现一些内部函数无法实现的功能,比如printf()等;
- 外部函数的作用域是整个源程序,而内部函数只能在它的域中使用或者跨域调用。
普通函数
GS的普通函数定义基本语法为:
prefix return_type function_name ( argument_list )
{
// body_of_general_function
}
普通函数语法定义解释:
-
prefix表示类型前缀,它是可选的,默认为private,其类型有以下五种:
- public(公有)
- protected(保护)
- private(私有) -> 默认
- virtual(虚拟)
- override(覆盖)
-
return_type表示返回值类型,也就是这个函数执行完之后需要返回值的类型
- return_type的类型是mixed,所有已有数据类型或者自定义数据类型都可以作为return_type
- return_type是每个函数必须要有的,不可省略
- 如果函数没有返回值,可以标注为
void
-
function_name是函数的名字
- 它也是不可省略的
- 不能跟系统函数取同一个名字,以免造成冲突
-
argument_list表示函数的参数
- 函数的参数可以是零个或多个
- 参数表中参数的格式为value_type value,其中参数之间用逗号隔开
- 使用
...
可以接受变长参数
-
body_of_general_function是函数体
- 函数体是实现函数的最主要模块
- 如果函数有返回值则需要在每个函数可能运行结束的最后return一个return_type类型的值
举个函数定义的例子:
public int max_int(int x, int y) // 计算x和y中的最大值,函数定义为公有函数
{
if(x > y)
return x;
return y;
}