如何看懂编译器的函数使用说明?

2022-07-24 08:32:29 +08:00
 airbotgo

非理工科,没接触过编程,现在学习中。

以 list 的 Dart 在线编译器为例:https://dartpad.dev/?

1 、选中关键词shuffle,编译器会出现该函数的语法说明:

void shuffle([Random? random])

中括号里面的“Random? random”是什么意思?使用“”一般什么用途?

2 、forEach 的说明void forEach(void Function(String) action)

括号中的void Function(String) action 是什么意思?

3 、如何将一个表达式快速添加到另一个函数的输入中?

例如先写完了一个很复杂的包含很多括号的表达式:xxxxxxxxxxxxxxxxxxxxx

想在print()中使用它:print(xxxxxxxxxxxxxxxxxxxxx),有时候一不留神就把print()后一个括号补错了位置,这里书写有什么技巧?

1040 次点击
所在节点    问与答
7 条回复
sadfQED2
2022-07-24 09:37:02 +08:00
1.2 你需要学习编程的基本知识,编程语言的基本语法。
3.专业的编辑器有代码补全功能,不过我不知道你这个语言有没有相关的 ide
airbotgo
2022-07-24 09:42:43 +08:00
@sadfQED2 对上面的语法解释的书有推荐的吗?主要是这种描述不知道什么意思。
以 void shuffle([Random? random])为例,返回类型为 void ,里面的参数可选,但是 Random? random 是什么意思呢?这个“?”表示什么?

3.我找到了一个方法,可以像 word 文档那样,选中然后拖动到指定的地方。
0TSH60F7J2rVkg8t
2022-07-24 10:07:36 +08:00
关于 1 ,用 Google 搜索关键字:
dart question mark
第一条答案就是啊:
If you want a variable of type String to accept any string or the value null , give the variable a nullable type by adding a question mark ( ? ) after the type name. For example, a variable of type String? can contain a string, or it can be null.
详情: https://dart.cn/codelabs/null-safety
zxCoder
2022-07-24 16:55:24 +08:00
不会 dart ,但这个很好理解吧,你学下语法就知道了
void Function(String) action
这个我猜意思就是参数叫做 action ,这是一个函数类型的参数,特指接收 String 参数,返回 void 的函数
ysc3839
2022-07-24 18:00:32 +08:00
看文档。编辑器的快速提示不能代替文档,不要对着快速提示就瞎猜测怎么用。
很多时候写出 bug 就是因为看了快速提示就想当然觉得应该这么用,实际上文档和想象中的并不一样。
lixiang2017
2022-07-25 00:46:37 +08:00
3. 成对输入括号后再往中间加表达式。坚守成对输入这一原则,无论长短。
Vaspike
2022-07-25 10:40:54 +08:00
1. 三楼说的很明确了
2. 问号在形参和返回值类型声明处出现时表示: 对于传入 /返回 的值可以为空(null) 以你说的为例,大写的 Random 代表传入参数的应为 Random 类型,问号代表也可以传入一个 null(我不知道在 dart 里 null 是什么关键字); 小写的 random 则是给这个传入的参数一个名称,在这个 shuffle 函数内,random 这个名称都直接代表传入的这个变量
3. 同 6 楼,不过这个工作本应当编译器来完成


祝楼主早日走出编程的新手村

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/868299

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX