简单是 Go 的设计哲学, 但有时候呢我我们觉觉用起来并没有有 Python/Java 那么简单, 所以我们该如何理解 Go 的大道至简呢
优点
1. 明确的依赖
它有明确的依赖,指的是你 import 了哪些包,那么呢在代码里面必须使用。这个包,没有使用就不能 import,所以以依赖谁没有依赖谁是非明确确的。 将来如果外部包要升级,那么你很清楚,知道它对自己有没有影响。
2. 没有 ++i
降低程序员的心智负担
3. 没有指针运算
降低程序员的心智负担
4. 部署无依赖
编译好之后,把可执行文件放到服务器上,直接就可运行。它不像 C++,还要安装各种库,也不像 Java,还得安装 JRE
5. 函数返回多个值
6. 并发编程
不方便的点
1. map 排序
总结
go 所谓的大道至简, 并不是在任何情况下,它都比其他语言更简单/简洁, 也不能把大道至简简单理解为是语法简单. go 更像是在人为定死了一个大的功能只会有一种写法, 确保高级程序员和初级程序员写出来的内容是大差不差的, 不会出现初级程序员特别难理解高级程序员写的代码, 也不会出现不同的程序员之间的代码根本无法互相理解. 也不用费尽心思去掌握如何把代码写的更漂亮, 只需要把注意力放在业务功能/文档注释上