[Godot] Parser Error: Invalid operand types (“int“ and “String“) to operator “+“.

出这个问题是 Godot 引擎中,int 变量和 String 变量相加而产生的,

func _init():
	
	var a: int = 1024
	var b: String = "LBWNB"
	
	print(a + b)  # 这里会报错

可以先将 int 转变为 String ,可以这样:

func _init():
	
	var a: int = 1024
	var b: String = "LBWNB"
	
	# 前俩者都是 int 转化为 String
	print(a as String + b)
	print(String(a) + b)

	# 这里是直接打印a和b 
	print(a, b)

以下三个 print 的结果都是

1024LBWNB

GDScript 很 Pythonic,但是 print 部分有一点不一样,Python版本是这样的:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
print(a, b)

python的输出是

1024 LBWNB

中间多了空格,因为 Python 的 print 参数 sep=' ',而 GDScript 的 print 则没有这个功能,所以所有的输出都会连在一起

GDScript 与 Python 的用法对比

其他的用法,诸如 Python 的字典,keys values 方法基本都相同,同时字典做迭代器的时候,也是直接返回 key 值,不同的是,GDScript 中的字典,数组可以做key:

var arr = [1, 2]
var dict = {
	2 : 3,
	"key" : "value",
	arr : "数组作为 key"
}
  • 最基本的控制流 for ... in , if elif else, while break continue的用法与 Python 同
  • range 对象和 Python 同 (for 循环用)

写在后边儿

实际上稍微有些编程经验的老铁,基本都知道这个报错是什么意思

不过我只是想记录一下这个特殊用法 print(a as String + b)
as String 的奇特用法 hhh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值