一、主流编程语言时间线
1、目前主流编程语言都是2000年以前发布:
C语言:1972
C++:1983
Python:1991
Java、Php、Js:1995
Amd双核、web发展:2005
Go:2006
Go语言是在双核之后出现的,所以Go在出生之时就解决了并发的问题(协程)。
2、Go最初目的是替代C++,崇尚C语言的设计理念。
二、Go的优势
1、语法简单——开发效率高
2、集各种语言的优势——大量参考C和Python
3、执行性能高——直接编译成二进制,部署非常简单
4、并发编程非常高效——goroutine
5、编译速度快——比C++、Java编译快
三、Go能做什么
1. Web开发- gin、beego等
2.容器虚拟化 - docker、k8s、istio
3.中间件 -etcd、tidb、influxdb、nsg等
4.区块链 -以太坊、fabric
5.微服务 - go-zero、dapr、 rpcx、 kratos、dubbo-go、 kitex
Go语言在云计算、微服务架构、网络编程等领域非常受欢迎。它的设计哲学是“少即是多”,即通过提供一组小而强大的功能集来实现高效的编程实践。Go的这些特性使其成为现代软件开发,尤其是在需要高性能和高并发的应用程序中的一个强有力的选择。
四、Go语言的主要特点
-
静态类型:Go是静态类型的语言,这意味着变量在编译时就已确定其类型,这有助于提前发现错误。
-
简洁性:Go的语法简洁,易于学习和阅读。它避免了过度的抽象和复杂的语法规则,使得代码更加清晰。
-
并发编程:Go的一个显著特点是其对并发编程的原生支持。它通过goroutines(轻量级线程)和channels(用于goroutines间的通信)简化了并发编程。
-
快速编译:Go语言的编译速度非常快,这使得开发过程更加高效。
-
内存安全:Go提供了自动垃圾回收功能,减少了内存泄漏的风险。
-
标准库:Go拥有一个丰富的标准库,覆盖了网络、并发、加密、数据处理等多个领域。
-
工具链:Go提供了强大的工具,如格式化工具
gofmt
,用于代码格式化,以及其他用于调试和性能分析的工具。
五、Go语言与其他语言的区别
-
与C/C++:Go提供了类似C的性能和安全性,但具有更简洁的语法。它避免了C++中常见的复杂特性,如类和继承,同时提供了更现代的并发支持。
-
与Java/Python:与这些语言相比,Go通常提供更好的性能,尤其是在并发处理方面。Go的静态类型系统和编译时类型检查也与Java相似,但Go的语法更简洁。
-
与JavaScript/Node.js:Go在网络编程和并发处理方面表现出色,是构建高性能服务器端应用的流行选择。与Node.js相比,Go在多核处理和长期运行的后台任务方面通常表现更好。
-
与Rust:Rust提供了更高的安全保障,特别是在内存安全方面。Go则侧重于简洁性和高效的并发处理。两者都适用于系统级编程,但Rust在需要严格内存控制的场景中更受欢迎。
-
与Ruby/PHP:这些语言主要用于Web开发。Go也可以用于Web开发,并且在性能和并发处理方面通常优于Ruby和PHP。
六、环境配置
windows:超详细go语言环境配置!!!_go环境配置-CSDN博客
mac:mac怎么安装和配置go语言环境-Golang-PHP中文网
linux:Linux系统中如何安装和配置golang环境-linux运维-PHP中文网
三种环境安装以及VSCode配置:Windows/Linux/macOS安装go和vscode,配置go环境 - 知乎