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

赋值给不同类型

39 次浏览

一些编程语言提供隐式转换和强制转换,方便不同类型赋值,另外一些编程语言不允许不同类型赋值以避免未知的问题。Python/JS属于脚本, 弱类型,讨论先抛开它们。

为了方便描述不同编程语言支持情况,定义ALL语言为:

  • C/ObjC/C++/Java/C#/VB/Go/Rust/Swift/仓颉

转换规则

规则/支持与否支持不支持
小整型可以隐式赋值成大整型C/ObjC/C++
大整型赋值成小整型自动截断C/ObjC/C++C# (需显式转换)
不同精度浮点数可以隐式转换C/ObjC/C++/VBC# (需显式转换)
字符串赋值给整型VB (必须字符串包含整型字符)