f# - 如何确定 F# 中的类型?
问题描述
在 Python 中,我可以通过键入以下内容来查看变量的类型:
>>> i = 123
>>> type(i)
<type 'int'>
有没有办法在 F# 中做到这一点?
解决方案
F# 是一种 .NET 语言,在 .NET 中,所有类型都是 .NET 的后代System.Object
,它有一个GetType
方法:
let i = 123
let t = i.GetType()
话虽如此,我必须强烈敦促您不要依赖运行时类型信息,除非用于调试或类似目的。这样做会降低你的程序的可维护性,并且从长远来看会反过来咬你。
在 Python 中,您可以摆脱这一点,因为 Python 无论如何都是动态类型的,因此延迟到运行时的再检查并没有真正的区别。但是 F# 是静态类型的,通过将类型推迟到运行时,您会丢弃编译器可以提供的任何支持。
推荐阅读
- c - 如何在Windows下使用cmake和MinGW编译C接口LAPACKE?
- javascript - 如何获取用户被重定向的页面
- laravel - 在 gonoware/laravel-maps 包中禁用滚动缩放
- python - ImportError:无法从“oauthlib.common”导入名称“bytes_type”
- java - 如何使用户在sql中更改表名
- python - 重用在 python 类中定义的变量
- android - 使用未满同意年龄 (TFUA) 标记的欧洲经济区 (EEA) 广告
- awk - 如何从电话号码和最后一个逗号中删除数据。使用 sed 或 awk
- javascript - React Router Nested Routes 尝试返回文件源而不是组件
- mongodb - 如何从 atlas 备份文件中恢复 mongo?