Go语言入门教程_Golang入门教程 (图文教程)

发布于: 2020-11-07 16:58:44 作者: 犬小哈 最后修订时间: 2020-11-28 21:15:03

go(golang)语言入门教程

一、什么是 Go 语言?

Go(又称Golang)是 Goolge 开发的一种静态型、编译型、并发型,并具有垃圾回收功能的语言。

罗伯特·格瑞史莫,罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计了Go语言,设计初衷是为了提高在多核、网络机器(networked machines)、大型代码库(codebases)的情况下的开发效率。当时在Google,设计师们想要去除主流编程语言中目前存在的缺点,只吸取它们的优点用于 Go 语言之中。

Go于2009年11月正式开源,同时支持 Linux、MacOS、Windows 等操作系统。

2016年,Go语言被 TIOBE 评为 "年度最佳语言"。

二、Go 语言特性

  • Go 语言上手非常容易,它的风格类似于 C 语言,但是其语法在 C 语言的基础上做了大幅度简化,如去掉了冗余的表达式括号,循环遍历也只有 for 一种写法等;
  • 工程结构简单
  • 代码可读性和易用性高
  • 编译速度快,由于其语法简单、工程结构设计严谨、没有头文件、无包交叉依赖等特点,很大程度上节约了编译所需耗时。
  • 高性能,原生支持并发。Go 语言的并发基于 goroutine, 它类似于线程,但并非线程。Go 语言运行时,会参与调度 goroutine, 并将 goroutine合理的分配到每个 CPU 中,从而最大程度的保证 CPU 的使用率。
  • 丰富强大的标准库,其中包括网络、图形、系统、加密、编码等各个方面。

三、Go 语言有多火 ?

Go 语言号称是互联网时代的 C 语言,那么它到底有多火呢?

  1. 绝大多数的云原生项目都是用 Go 语言编写的,比如:
  • Docker: 容器化技术;
  • Kubernetes: 构建于 Docker 之上的容器调度服务;
  • etcd: 一款分布式、可靠的 KV 存储系统;
  • Istio: 一个与 Kubernetes 紧密结合的适用于云原生场景的 Service Mesh 形态的用于服务治理的开放平台;
  • Prometheus: 一个开源的服务监控系统和时间序列数据库;
  • ...
  1. Go 语言将会成为云计算时代的基础设施编程语言,比如区块链明星项目 Hyperledger、NewSQL , 明星项目 TiDB 也是基于 Go 语言的;
  2. Go 语言已经成为下一个企业级编程语言,包括字节跳动、滴滴、腾讯、阿里巴巴在内的一线互联网公司都在使用。

哪些项目用到了go语言

四、Go 语言教程目录

小伙伴们按照下面教程目录的顺序学习 Go 语言即可:

Go 语言入门

搭建 Go 语言环境

Go 语言基本语法

Go 语言容器

Go 语言流程控制

持续更新中 ...