作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序中有一个函数需要返回一个数组。我在几个地方找到了如何通过声明数组类型来做到这一点,例如
type
TStringArray = array of string;
然后声明我的函数
function SomeFunction(SomeParam: Integer): TStringArray;
我的问题是尝试以具有接口(interface)和实现的形式来设置它。如何声明我的类型并在接口(interface)中使用该类型进行函数声明?
最佳答案
unit Unit1;
interface
uses SysUtils;
type
TStringArray = array of string;
function SomeFunction(SomeParam: integer): TStringArray;
...
implementation
function SomeFunction(SomeParam: integer): TStringArray;
begin
SetLength(result, 3);
result[0] := 'Alpha';
result[1] := 'Beta';
result[2] := 'Gamma';
end;
...
end.
黄金法则是单元的接口(interface)部分描述单元使用的数据类型,以及单元中驻留的类型、类和函数(它们的签名)。这是所有其他单位所看到的。 implementation
部分包含类和函数的实现。这对其他单位来说是不可见的。其他单位需要关心的是本单位的接口(interface),本单位与外部单位签订的‘契约(Contract)’,而不是实现部分中找到的‘实现细节’。
关于arrays - 如何从Delphi函数返回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145935/
我是一名优秀的程序员,十分优秀!