DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: wo441251095
今日帖子: 9
在线用户: 10
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 tuesdays (Tuesday) ▲▲△△△ -
注册会员
2019/3/12 11:25:39
标题:
Result 返回值需要第一时间初始化吗? 浏览:454
加入我的收藏
楼主: begin
  Result = 0;

比如这样.
----------------------------------------------
delphi界我写python最强, python界我写delphi最强. 写自己的代码, 让别人去运行吧.
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲▲ -
普通会员
2019/3/12 11:44:02
1楼: 个别数据类型不需要。
大部分都需要。
编译器,会 检查出 多余的代码。如果提示你第一行多余,说明 你后面的代码 实现了初始化的效果。
但是 建议不要删除。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 abcjingtong (jingtong) ▲▲▲▲▲ -
注册会员
2019/3/12 12:06:02
2楼: 良好的习惯,还是在最开始赋值成默认值或你希望的值
----------------------------------------------
18114532@qq.com
作者:
男 bluestorm8 (bluestorm) ▲△△△△ -
注册会员
2019/3/12 12:51:50
3楼: 不需要,你需要的时候再对它赋值就可以了。甚至你不对它赋值都没有问题(这就相当与procedure,不过这种情况编译器会会给出警告)。
----------------------------------------------
-
作者:
男 a5824 (Return) ▲▲▲▲△ -
注册会员
2019/3/12 13:32:57
4楼: 楼上,怎么可能,除非你当成procedure去用,如果你用值接收它,代码里恰好碰到未赋值,肯定返回的有问题
----------------------------------------------
作者:
男 delphiilove (乌羽玉) ★☆☆☆☆ -
普通会员
2019/3/12 15:51:18
5楼: 从语法上不需要。
代码里忘记给 Result 赋值,那是另外一回事。
----------------------------------------------
GOD with US
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2019/3/12 15:52:23
5楼: 高版本的可以用exit实现c系语言中的return的功能。
你用exit返回就是了。

function t(...): int;
begin
  if ... then
    exit(-1);
  ...
  exit(0);
end;
----------------------------------------------
--
作者:
男 tuesdays (Tuesday) ▲▲△△△ -
注册会员
2019/3/12 15:58:31
6楼: 假如是string 呢, 或者对象呢.

@bahamut8348
----------------------------------------------
delphi界我写python最强, python界我写delphi最强. 写自己的代码, 让别人去运行吧.
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲▲ -
普通会员
2019/3/12 16:01:46
7楼: 5 楼,如果
if xx then
 exit(0)
else yy then
 exit(1)
else zz then
  donot exit;
结果你忘了 zz ,就麻烦了。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 bluestorm8 (bluestorm) ▲△△△△ -
注册会员
2019/3/12 16:15:09
8楼: 可以不给result赋值,不过这样的话result就是一个随机值,因为你一调用函数,函数就会把reult的内存分配好,只是这个内存里面数值没有重新覆盖(也就是赋值)过而已。
----------------------------------------------
-
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2019/3/12 22:25:36
9楼: 对象或者别的类型一样的。这个就和c语言里的return是一个道理。

至于说忘记了,那就是自己的问题了。
其实这个地方有个好处,就是可以督促自己少写一些超长的代码段。
比如那种几百行代码的函数,就可以考虑切割成几个小函数。
----------------------------------------------
--
作者:
男 wr960204 (武稀松) ★☆☆☆☆ -
盒子活跃会员
2019/3/13 0:12:57
10楼: 生存期自管理的不需要.比如Interface
----------------------------------------------
武稀松http://www.raysoftware.cn
作者:
男 feiyanm (feiyanm) ▲▲▲△△ -
注册会员
2019/3/13 8:26:03
11楼: 养成良好习惯,先赋值,没毛病。。。
----------------------------------------------
Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!我去WC吐一会儿去!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行39.0625毫秒 RSS