《Hack与HHVM权威指南》——1.6.1 没有类型的变量

本节书摘来自华章出版社《Hack与HHVM权威指南》一书中的第1章,第1.6.1节,作者 Owen Yamauchi,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.6.1 没有类型的变量

在大多数静态类型的语言之中,一个本地变量出现后就会被定义为某种类型。然后,这个变量将在整个生命周期内保存这种类型的值。本例中的代码可以是C++或者Java,不论哪种情况,这里都会引发一个类型错误。因为x被声明为一个int类型,所以永远不能把非int类型的值赋值给它:
int x = 10;
x = "a string"; // 错误
这并不是一个Hack中的例子,就像PHP一样,本地变量在Hack中可以不用声明类型,你可以简单地通过赋一个值给它来创建一个本地变量。你还可以对任何本地变量赋值新的值,而不用在意这个本地变量原本的类型是什么:
$x = 10;
$x = "a string"; // 正确
关键的不同点是:在Hack中,本地变量本身是没有类型的,它所存放的值是有类型的。
在本程序中的每个点上,类型检查器都知道在那个点每个变量所存放的值的类型。如果它发现一个新的值被赋给了这个变量,那么它将及时更新关于这个变量存放的值类型的知识点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值