当前位置: 首页 > news >正文

静态类型、动态类型、强类型、弱类型

静态类型、动态类型、强类型、弱类型

静态类型与动态类型

变量类型是否会随赋值变化——何时确定变量的类型

  • 静态类型:代码中需要指定变量的类型(或者自动推导),编译期就进行类型检查,无须运行代码即可确定变量的类型。变量类型运行时不可更改。
  • 动态类型:代码中不需要指定变量的类型(即使指定了也只是类型注解),运行期间第一次赋值该变量时进行类型检查,并且变量再次赋值时会重新检查和确定其新类型。只有运行代码才能直到变量的当前类型。

image

强类型与弱类型

是否保证类型安全——是否允许隐式类型转换

强类型:只允许发生有意义的安全的隐式类型转换。只能进行强制类型转换。

弱类型:允许发生隐式类型转换。


image

举例

语言 静态 / 动态 强 / 弱 理由
C/C++ 静态 允许大量跨语义隐式转换(如 int→char、指针随意强转)
Python 动态 允许安全隐式转换(int→float),但禁止无意义转换("5"+1 报错)
Go 静态 隐式转换仅允许 “安全场景”(如 fmt 格式化),跨类型转换必须显式(int→float64 需手动写)
Javascript 动态 隐式转换无约束("5"-2=3、true+1=2)
Typescript 静态 允许跨语义隐式转换(如 "5" * 2 隐式转为数字 10),支持宽松相等性检查(0 == "0" 为 true),即使有静态类型检查也不阻止这些弱类型转换行为
http://www.hskmm.com/?act=detail&tid=40772

相关文章:

  • 价值主体的技术实现:基于Free Transformer潜变量Z的AI元人文架构探索
  • pyqt 自定义QTableWidget
  • 查询排序与表连接
  • 记录一下我最近一年写的脚本,不知不觉近100个了!
  • The 2025 Hunan Collegiate Programming Contest
  • 第二十二天
  • 2025.10.28
  • 日总结 20
  • 重组蛋白与传统蛋白的区别:从来源到特性的全面解析
  • CSP-S 2025 游记
  • NordicNRF91系列蜂窝产品在偏远地区低轨道卫星物联网连接领域取得关键突破
  • Windows Server 2025镜像下载地址
  • 博客园geek主题拓展-1
  • 2025年10月临江鳝丝店推荐:乐山地区五家优质店铺榜单与对比分析
  • vs2022(2026)离线安装失败的问题解决
  • 家训
  • 线段树入门 - idle
  • 文档抽取技术在智能合同对比系统中的应用与优势分析
  • 2025年10月临江鳝丝店推荐榜:五家口碑店铺深度对比与选择指南
  • 2025年10月临江鳝丝店推荐榜单:五家特色店铺详细对比分析
  • 2025年10月临江鳝丝店详细评测:结合实地体验与行业标准
  • 2025年10月临江鳝丝店评价榜:传统与创新菜系全面解析
  • 【题解】Educational Codeforces Round 105E
  • anaconda常用命令
  • 业务人员能学低代码吗
  • 低代码只能做简单表单?复杂业务场景的适配方案
  • 2025青科会启幕,网易伏羲携游戏AI前沿实践共话未来
  • Python电力负荷预测:LSTM、GRU、DeepAR、XGBoost、Stacking、ARIMA结合多源数据融合与SHAP可解释性的研究
  • P4427 [BJOI2018] 求和
  • 白忙活这么多年!早知道有这9款软件,我少熬好几个通宵!