在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
内联变量是Delphi Rio 10.3中引入的功能,这个功能其实在其他语言中并不新鲜,在第一次接触Delphi的时候如果非要让我吐槽点儿什么的话那就是变量的声明
内联变量声明以前使用局部变量需要以下面的方式进行声明
现在使用内联变量的方式进行声明
针对第一种声明变量的两点吐槽 (1)类似于 I 这种变量可能只是临时使用一下,然而它依然需要在前面提前声明,有的朋友可能会说这样的语法阅读性更高,但是当代码量大了反复拖动鼠标来查阅声明时的类型也很麻烦,个人反而觉得阅读性降低了 (2)变量的作用范围,变量只要声明那它的作用范围即为整个函数、过程,但是某些时候仅仅需要在循环或者 if 语句中使用变量,无形中造成了资源的浪费
变量范围这里直接参考官方文档给出的代码示例
在Test2这个过程中因为 J 和K 这两个变量是在对应的语句块中进行的声明,所以当超出了 f 语句范围外是无法进行访问的,同理 J 是在 if 块中声明的在else块内无法访问 类型推断使用一些不熟悉的API时在定义接收其函数返回值的变量时需要反复的查看该函数的返回值类型是什么。不知道大家有没有感觉,反正我是被烦的不行。不过还好内联变量最后的一个特点就是可以进行类型推断(或者称为类型推导)。具体是什么东西看下面的代码
MyDictionary和APair这两个变量在接收其返回值时并不需要声明类型,根据等号右边的函数可以自动推导出其类型是什么,这就是类型推导
内联变量在循环中的使用个人感觉这是内联变量带来最便利的一个地方了。没什么废话,翠花上代码……
至此内联变量的介绍就全部结束了,但是需要注意的是虽然官方宣称在Delphi Rio 10.3这个版本中进行了内联变量的支持,但是实际的情况是IDE有BUG,当你在这个版本内使用的时候会有烦人的红线虽然编译可以通过。在Delphi Sydney 10.4中已经修复了这个问题 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论