ZGG文档
搜索文档…
ZGG的函数

函数定义

命名函数

1
func 函数名(参数表) {
2
// 函数体
3
}
Copied!

匿名函数

1
// 普通函数
2
xxx := func(参数表) {
3
// 函数体
4
}
5
6
// 箭头函数
7
yyy := (参数表) => 返回值表达式
8
zzz := (参数表) => {
9
// 函数体
10
}
11
12
// 如果箭头函数只有一个参数,括号可以省略
13
aaa := onlyArg => {...}
14
bbb := onlyArg => expr
15
16
// 如果将匿名函数作为参数传递另一个函数调用,还有一种简化写法。以下两种写法等价
17
someOtherFunc({ 函数体 })
18
someOtherFunc(it => { 函数体 })
Copied!

参数表的定义

  • 普通参数表
  • 可变参数表
最后一个参数前面如果加上...,则代表其为一个可变参数

Examples:

1
zgg> f := (a, b, ...c) => [a, b, c]
2
<anonymous function>
3
4
zgg> f(1)
5
[1, undefined, []]
6
7
zgg> f(1, 2)
8
[1, 2, []]
9
10
zgg> f(1, 2, 3)
11
[1, 2, [3]]
12
13
zgg> f(1, 2, 3, 4)
14
[1, 2, [3, 4]]
Copied!

函数调用

基本调用形式为:
1
函数标识符(参数表)
Copied!

Examples:

1
// 基本的例子见上文可变参数定义段落
2
3
// 可以使用...array,将一个数组展开,作为参数表的一部分
4
zgg> args := [1, 2, 3]
5
zgg> f(100, ...args, 5) // 相当于f(100, 1, 2, 3, 5)。f定义见“可变参数”段落
6
[100, 1, [2, 3, 5]]
Copied!