4.6 2026-01-27
函数(function)是对数据的加工。
# 函数名 hello
# 参数 name 类型 String
# 返回 String
func hello(name : String) -> String:
return "Hello " + name
定义函数后,在其他地方使用函数名调用函数,获取返回结果。
var return_value = hello("John Doe")
空函数
func empty_function():
pass
函数默认值
func hello(name : String, value := 10):
pass
# 一个参数
hello("John Doe")
# 两个参数
hello("John Doe", 20)
# 循环数组,对每个元素调用函数
func map(arr: Array, function: Callable) -> Array:
var result = []
for item in arr:
result.push_back(function.call(item))
return result
# 参数加一
func add1(value: int) -> int:
return value + 1;
# 把add1函数作为参数,传递给map函数
func _ready() -> void:
var my_array = [1, 2, 3]
var plus_one = map(my_array, add1)
print(plus_one) # Prints `[2, 3, 4]`.
# 定义匿名函数
var lambda = func (x):
print(x)
lambda.call("Joe")
# 三个点,表示传入参数的长度可能变化,这比使用数组更加灵活
func my_func(a, b = 0, ...args):
prints(a, b, args)
# 接收到的参数就是一个数组
func _ready():
my_func(1) # 1 0 []
my_func(1, 2) # 1 2 []
my_func(1, 2, 3) # 1 2 [3]
my_func(1, 2, 3, 4) # 1 2 [3, 4]
my_func(1, 2, 3, 4, 5) # 1 2 [3, 4, 5]