Godot小Tip:值类型与引用类型

Godot小Tip:值类型与引用类型

对比一下两段代码和输出值:

var a = 10
var b = a
a += 10
print(a)
print(b)

输出为 20 10

var a = [1, 2]
var b = a
a.append(10)
print(a)
print(b)

输出为 [1, 2, 10] [1, 2, 10]

这样区别就很明确了,代码1中的变量直接储存“值”,可以是整数、浮点数、字符串和布尔值。代码2中的变量则是引用了对应的数组,举个例子,我买的不同快递都有各自的快递单,但是收件人都是我,代码2中变量a和b都是引用了同一个数组,即使在变量b上面append,变量a的值也会跟着变化。在Godot中,绝大多数类的实例都是引用类型。

对于数组是引用类型这个情况,实际上很多时候非科班出身的使用者会容易忽略,需要特别记忆一下。

发表回复

Back To Top