Go的优势是:一、语法简单、学习曲线容易;二、效率:快速的编译时间,开发效率和运行效率高;三、自由高效:组合的思想、无侵入式的接口;四、强大的标准库,包括互联网应用、系统编程和网络编程;五、部署方便:二进制文件,Copy部署;六、Go语言的Goroutine和Channel这两个神器简直就是并发和异步编程的巨大福音;七、拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性。
使用场景为:一、云原生开发:Go的并发和网络特性以及高度的可移植性使其非常适合
构建云原生应用程序,事实上,Go曾被用于构建云原生计算的多个基石,包括Docker、 Kubernetes和Istio;二、分布式网络服务:网络应用程序的生死取决于并发,而Go的原生并发特性,主要是goroutine和通道,非常适合这种工作。因此许多Go项目用于网络、分布式功能和云服务:API、Web 服务器、Web 应用程序的最小框架等;三、实用程序和独立工具:Go程序编译成具有最少外部依赖的二进制文件,这使得它们非常适合创建实用程序和其他工具,因为它们可以快速启动并且可以很容易地打包以便重新分发。 学习Go的良好途径如下:1、关键字,标识符;2、运算符,类型,函数和常量;3、指针,结构,方法;4、map,数组,切片;5、CLI;6、interface;7、错误处理;8、Goroutine,channel,缓冲channel;9、defer、panic;10、Go 设计模式。 Go的目标是使用最少的关键字来减少类型输入和复杂性,因此相比Java等其他语言,Go需要更少的代码。