|
ThetruecharFeb 26, 2021 via Android
1
很喜欢这样的引战帖
|
|
LeviathannFeb 26, 2021 via iPhone
2
反正我觉得官方书的模块化那章写的很烂
最后一节忽然说文件夹也是 path 的一部分 也没提 lib 和 binary 怎么交互 试了下才知道把 lib 当成外部 package 一样用 cargo 文件夹名才能导进来 |
|
3
nnd. 所有权和所有权转让、指针、智能指针、装箱等等才是大头啊,这几个你中有我,我中有你,不来回个 50 遍根本理解不了
|
|
HeapOverflowFeb 26, 2021
4
一看就是没被 c++虐过
|
|
CatCodeFeb 26, 2021
5
|
|
hunkFeb 26, 2021
6
花了几天时间看 rust 和 go,准备先从 go 学起。
有个需要大并发的需求. |
|
palfortimeFeb 26, 2021 via Android
7
2018 可以不用 mod.rs 。写 mod xxx,有什么不好,这样更明确清晰。
|
|
fakeshadowFeb 26, 2021
8
那如果让你知道了 pub(self/super/crate) 是不是会更抓狂?
|
|
9
@palfortime 没发现一个文件作为一个 mod 有什么优点,现在的模块化语法太繁琐了。
|
|
10
@Thetruechar 非引战,实际项目中实在繁琐的不行,更理解不了为什么一个文件作为一个 mod 有什么收益。
|
|
12
@HeapOverflow 还真是,人生苦短,我用 Golang
|
|
CatCodeFeb 26, 2021
15
@syaka 可能是早期的设计吧。而即使到了 2018 edition 也不便于改太狠,毕竟兼容性还是要考虑的。
有的东西,在早期可能是当时很好的设计。但是随着技术发展,更好的设计可能会出现,然后在对比原来的设计,就发现原来的设计不是那么美好。 |
|
JirajineFeb 26, 2021 via Android
16
我到觉得两者没太大优劣之分。
rust 的单文件模块,一个模块代码很多的时候文件就会太长,不得不分模块。而 go 就可以用多个文件写同一个模块。 而 go 用目录分模块,模块很多一个模块代码很少的时候也会很麻烦,并且文件名不体现模块名。 但是 rust 整个的包管理 crate 系统要更好,lib 的归 lib,bin 的归 bin,比 go 都混到一起更清晰。 |
|
plko345Feb 27, 2021 via Android
17
喜欢 rust,但这点也同意楼主的观点
|
|
18
@Jirajine go 用一个目录作为一个模块(和 Java 一样),一般是目录名体现模块名。
cargo 是包管理工具,这一点确实比 go modules 好。 |
|
poly000Apr 5, 2021
19
感觉可以一个 lib 一个 crate 这样 cargo 支持多 crate 管理
|
|
20
|
|
galenjiangJul 20, 2022
21
mod.rs 和 index.js 有区别吗?
另外,这样写的好处是,没有像 node 一样软链导致的各种问题,声明和实现分开了。 |