简单是 Go 的设计哲学, 但有时候呢我我们觉觉用起来并没有有 Python/Java 那么简单, 所以我们该如何理解 Go 的大道至简呢

优点

1. 明确的依赖

它有明确的依赖,指的是你 import 了哪些包,那么呢在代码里面必须使用。这个包,没有使用就不能 import,所以以依赖谁没有依赖谁是非明确确的。 将来如果外部包要升级,那么你很清楚,知道它对自己有没有影响。

2. 没有 ++i

降低程序员的心智负担

3. 没有指针运算

降低程序员的心智负担

4. 部署无依赖

编译好之后,把可执行文件放到服务器上,直接就可运行。它不像 C++,还要安装各种库,也不像 Java,还得安装 JRE

5. 函数返回多个值

6. 并发编程

不方便的点

1. map 排序

总结

go 所谓的大道至简, 并不是在任何情况下,它都比其他语言更简单/简洁, 也不能把大道至简简单理解为是语法简单. go 更像是在人为定死了一个大的功能只会有一种写法, 确保高级程序员和初级程序员写出来的内容是大差不差的, 不会出现初级程序员特别难理解高级程序员写的代码, 也不会出现不同的程序员之间的代码根本无法互相理解. 也不用费尽心思去掌握如何把代码写的更漂亮, 只需要把注意力放在业务功能/文档注释上