奇思妙想 · 2024年 9月 17日 0

不同类型的变量不能运算?

48 次浏览

尽管不少编程语言提供了隐式类型转换,支持不同类型变量做运算,例如int和short类型相加,一些新语言认为这可能产生不安全操作。

  • C/ObjC/C++/Java/C#/VB都允许隐式类型转换,比如int和short类型相加,short自动转换成int,编译器不会抱怨。
  • Go/Swift/Rust语言不允许不同类型变量运算,如需要,必须强制转换。比如int32和int16类型变量相加,一个类型必须转换成另外一个再做相加。
  • Python属于动态语言,尽管有整型和浮点数之分,但做运算还是没问题的。
  • JS也是动态语言,类型区分泾渭分明,此问题似乎不太适用。