自定义脚本引擎开发纪实 - 全局变量与局部变量和弱类型

变量

变量的作用域涉及到变量的作用范围,可见性,还涉及到变量的回收。

局部变量

  1. 局部变量需要明确的使用local修饰;
ret=1 //全局变量
func isvalid()
	ret = ret + 1 //使用的是全局变量
	local ret = 0 //局部变量
	return ret	//返回的是局部变量0
end
  1. 除此之外for(), foreach(), while(),括号里面的变量默认也是局部变量,作用域在整个代码段执行周期。

  2. func函数内部变量默认作用域是函数的整个执行周期

全局变量

除了上面所说的局部变量外,默认都是全局变量

变量的回收(gc)

变量超过了作用域就会自动释放计数,无引用就会被释放

弱类型

并不需要明确指定变量的类型,解析器会自动判断,为了简便,牺牲了某些平台和浪费了一些空间:整数默认用int64,浮点数默认用double。

sum=10 //int64
a=1.0 //double
b = a * sum //double
c = "10" //string
m = 1 + 2 + 4 //int64
var = "abc" + 123 //string: "abc123"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值