如何在D中不处理命令行参数?

nic*_*ian 2 arrays d

main()D中入口点的正确说法是

void main(char[][] args)
{

}
Run Code Online (Sandbox Code Playgroud)

但是如果没有传递任何参数,我怎么知道它是一个数组呢?

Vla*_*eev 5

void main(char [] [] args)

在现代D中,规范签名是void main(string[] args),或者void main()如果您的程序不需要参数.

但是如果没有传递任何参数,我怎么知道它是一个数组呢?

检查数组的.length属性.如果args.length==1,那么没有任何参数传递给程序.(参数0总是程序本身,就像在C/C++中一样.)

  • `string`在`object.d`中定义为`alias string = immutable(char)[]`,它是D运行时的一部分并隐式导入 - 所以它是标准的D类型,只是在运行时定义的(而不是编译器). (2认同)