php – 类型安全语言是否需要静态类型化?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 类型安全语言是否需要静态类型化?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1188字,纯文字阅读大概需要2分钟。
内容图文
![php – 类型安全语言是否需要静态类型化?](/upload/InfoBanner/zyjiaocheng/750/ce193240d65b4a7bb498893e35535cb1.jpg)
我试图理解语言对类型安全的意义.在动态类型语言中,类型检查在运行时执行,例如,如果我运行以下PHP代码:
<?php
class MyClass
{
}
// Create a MyClass instance
$mc = new MyClass();
// Create an int variable
$i = 1234;
// Add $mc and $i
$result = $mc + $i;
?>
我将得到一个错误,因为运算符不支持MyClass数据类型.所以基本上类型检查是在运行时执行的.
类型安全是否意味着无论是在编译时还是在运行时执行类型检查,或者它是否意味着必须仅在编译时执行类型检查,因此必须明确地为每个变量提供数据类型(如C ,Pascal,Java等).
解决方法:
“类型安全”通常表示“内存类型安全”,也就是说,您不能将包含一种类型的内存视为另一种类型.
根据这个定义,大多数高级语言(包括动态类型语言)都是类型安全的,因为任何不正确使用类型的尝试都会导致错误(编译时或运行时).
因此,类型安全主要是低级语言的问题,尤其是C和C.这些问题通常涉及指针或转换(例如C中的reinterpret_cast).
C#是一个有趣的案例,它位于两个组之间:默认情况下它是类型安全的,但您可以使用unsafe关键字关闭部分代码的类型安全性(通常是出于性能或互操作的原因).
但是,如果将类型安全性与静态类型相结合,则并不一定意味着必须编写类型.许多静态类型安全语言,特别是功能性语言或受其启发的语言,使用type inference.这意味着编译器可以根据分配给它的内容自行计算变量的类型,因此您不必输入它.例如C中的auto关键字和C#中的var.
内容总结
以上是互联网集市为您收集整理的php – 类型安全语言是否需要静态类型化?全部内容,希望文章能够帮你解决php – 类型安全语言是否需要静态类型化?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。