花两天时间学习了 Go 语言,发现比 Node.js 高不知多少去了

有没有人在啊,想请教下,花两天时间学习了 Go 语言,发现比 Node.js 高不知多少去了
最新回答
千风于弃

2024-05-11 03:03:08

先说感受到的先进性:

  • 语法非常简洁,有种在学 C 语言的感觉,学习过程觉得很轻松,没有太陡峭的曲线,但语言也完全够用

  • 自带工具就非常强大,而且各 IDE 和 Editor 都能集成,开发工具完全不是问题

  • go get = git clone + go install ,从 github 上直接 clone 下源码,编译出 .a 包文件和安装 bin 到 $GOPATH ,就可以本地任意地方使用了。反观 npm ,相信很多人不知道 NODE_PATH 的存在。

  • gofmt 代码风格统一,码农们再也不用为空格与 Tab 争吵了

  • go test 支持 benchmarks 和覆盖率测试

  • godoc 查看文档的工具。支持本地执行 godoc -http=:8080 后就能在浏览器中访问 golang.org 的本地 copy 版,对被墙的同学是个不错的选择

  • 支持 Github ( Gitlab 等也可以)远程包,不需要发布到类似 npm 那样的地方

  • 并发用协程和 channel 非常容易写,业务逻辑中可以尽量避免回调

  • 部署非常简单,可以运行二进制文件,也可以通过 go get 来安装 bin ,运维起来非常方便

  • API 稳定,据说从发布到现在语法基本没变,只是 Go 内部做了改进和优化

  • 本人还用 Swift 写过 iOS ,发现 Swift 似乎是从 Go 身上学了不少东西。。

  • 劣势:

  • G...FF..WWW ,想下个 pkg 安装文件非常困难,最后是通过 brew 下载的

  • 国内资料少(这么简单的语言,似乎也不需要什么资料)

  • 社区小不如 npm ,国内想找个工作更是困难

  • 不确定性:

  • 性能与 Java 比如何,相当于什么水平

  • 综上所述,感觉 Go 确实是一个目前比较理想的开发工具,大家一起讨论讨论,人生苦短,为何不用 go ?