一、Go基础知识0、背景介绍

一、主流编程语言时间线

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语言的主要特点

  1. 静态类型:Go是静态类型的语言,这意味着变量在编译时就已确定其类型,这有助于提前发现错误。

  2. 简洁性:Go的语法简洁,易于学习和阅读。它避免了过度的抽象和复杂的语法规则,使得代码更加清晰。

  3. 并发编程:Go的一个显著特点是其对并发编程的原生支持。它通过goroutines(轻量级线程)和channels(用于goroutines间的通信)简化了并发编程。

  4. 快速编译:Go语言的编译速度非常快,这使得开发过程更加高效。

  5. 内存安全:Go提供了自动垃圾回收功能,减少了内存泄漏的风险。

  6. 标准库:Go拥有一个丰富的标准库,覆盖了网络、并发、加密、数据处理等多个领域。

  7. 工具链:Go提供了强大的工具,如格式化工具gofmt,用于代码格式化,以及其他用于调试和性能分析的工具。

五、Go语言与其他语言的区别

  1. 与C/C++:Go提供了类似C的性能和安全性,但具有更简洁的语法。它避免了C++中常见的复杂特性,如类和继承,同时提供了更现代的并发支持。

  2. 与Java/Python:与这些语言相比,Go通常提供更好的性能,尤其是在并发处理方面。Go的静态类型系统和编译时类型检查也与Java相似,但Go的语法更简洁。

  3. 与JavaScript/Node.js:Go在网络编程和并发处理方面表现出色,是构建高性能服务器端应用的流行选择。与Node.js相比,Go在多核处理和长期运行的后台任务方面通常表现更好。

  4. 与Rust:Rust提供了更高的安全保障,特别是在内存安全方面。Go则侧重于简洁性和高效的并发处理。两者都适用于系统级编程,但Rust在需要严格内存控制的场景中更受欢迎。

  5. 与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环境 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不归Alkaid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值