![4200e7104d3924594e2f0915627adcd2.png](https://i-blog.csdnimg.cn/blog_migrate/574dfb5e8a7f7076aa2171caa0fda626.jpeg)
Go 是一种开源编程语言,可以轻松构建简单,可靠,高效的软件.
摘录自 github:
https://github.com/golang/go,
其中官网(国外): https://golang.org 和官网(国内): https://golang.google.cn/
Go 是 Google 公司推出的静态强类型,编译型,并发型,并具有垃圾回收功能的开源编程语言,最初由 Robert Griesemer , Rob Pike ,Ken Thompson 三人主持开发,后来陆续加入其他开发者,最终于 2009 年 11 月正式开源.
创始人都是大神
Go 的三位主要创始人分别是: 罗伯特·格瑞史莫(Robert Griesemer),和肯·汤普逊(Ken Thompson)
- 罗伯特·格瑞史莫(Robert Griesemer)
JS V8 引擎,Chubby ,Java HotSpot 虚拟机,Sawzall 语言和 Strongtalk 系统
![2145c623b515c04ef0807d07ddee1037.png](https://i-blog.csdnimg.cn/blog_migrate/1e920e65ada7e66c0e22c28b59b46965.jpeg)
github: https://github.com/griesemer
- 罗勃·派克(Rob Pike)
Plan 9 操作系统和UTF-8 编码
![7a9f76ba8def739544fd650b92311f23.png](https://i-blog.csdnimg.cn/blog_migrate/387c6d1f4b42858e536bfa7ea6c1136b.jpeg)
github: https://github.com/robpike
- 肯·汤普逊(Ken Thompson)
UNIX 操作系统 ,Plan 9 操作系统,B 语言,UTF-8 编码
![7509bdbfd30c4f0443ffbdfc6d83b7f7.png](https://i-blog.csdnimg.cn/blog_migrate/147d2f005d7624a926d41a6e8e45c33a.jpeg)
github: https://github.com/ken
如此厉害的三位大牛合作创作的 Go 语言还能差到哪里去呢?
![38be5f0407d896674e10995b44cb0855.png](https://i-blog.csdnimg.cn/blog_migrate/04e840cbf2a0050edb11d655160fba7c.jpeg)
吉祥物也很可爱
原来的 logo 是一只可爱的囊地鼠,英文名叫 gopher.
![9b845756f10cd2fe0182946eb078bdde.png](https://i-blog.csdnimg.cn/blog_migrate/26085a7f28090c6f41612ee4f71f0ec5.jpeg)
新的 logo 是现代化图标,代表更快更强,体现速度和效率.
![58cd861abe0dfd30ac82ce59c345bd32.png](https://i-blog.csdnimg.cn/blog_migrate/92b3858ae6e5f8c1d3aea00e7853511a.jpeg)
网上流传甚广的一组很萌很可爱的吉祥物,并附上 github 链接: https://github.com/tenntenn/gopher-stickers
![1431382795e91b40143743f38a0517a4.png](https://i-blog.csdnimg.cn/blog_migrate/d19b28abb8f545644befe5a4a3b28d7a.jpeg)
体验 go 语言魅力
- 案例一
fmt.Println("Hello, 世界") : 输出字符串并换行
![84e4536166a508acff9032c568e4cb73.png](https://i-blog.csdnimg.cn/blog_migrate/528769e6d788bb4dc1cc2692cd7adf45.jpeg)
![a3643bf0ffc9ba79963e855a182de46c.png](https://i-blog.csdnimg.cn/blog_migrate/d9cb93c7b720c38e297e57d8fa9ecd32.jpeg)
- 案例二
a, b = b, a : 互换变量a 和 b 的值,而其他语言一般都需要引入临时变量.
![08261458091d8388f4e293c7d12ebbe8.png](https://i-blog.csdnimg.cn/blog_migrate/92e86e3b9a345a08be6cf91e0812ffae.jpeg)
![1845b2b967f2e787e16b7f987a0e7cc5.png](https://i-blog.csdnimg.cn/blog_migrate/2f938585781f2b6880951ee5b801579a.jpeg)
- 案例三
go + chan 关键字轻松完成并行计算
![25b53654b025abe4540f68756dff9693.png](https://i-blog.csdnimg.cn/blog_migrate/9cd131ec23bb13f2a0260c46a616db7e.jpeg)
![59de54cd69ba32bd0542da0dad65bd4c.png](https://i-blog.csdnimg.cn/blog_migrate/b3c726015b988d555cea682ef973218a.jpeg)
到底好用不好用
Go 语言是云计算时代的 C 语言也称为21 世纪的 C 语言,由此可见,Go 的地位非同一般.
Go 语言的诞生是为了提高生产效率,专门对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全,支持并行进程.
- 运行效率高,开发高效,部署简单.
运行效率高是因为编译性语言与解释性语言相比,开发高效是语法简单,部署简单是直接部署编译后的程序.
- 语言层面支持并发,易于利用多核实现并发.
不同于 php,只需要 go 配合 channel 即可完成进程或线程所做的工作.
- 内置 runtime 并支持垃圾回收
类似 Java 虚拟机支持垃圾回收,不必手动进行内存管理.
- 简单易学,丰富的标准库,强大的网络库.
学习成本低,语法简单但表达能力强,支持函数式编程,面向对象编程等多种编程范式.
- 内置强大的工具(gofmt),跨平台编译,内嵌C支持.
不同的人有不同的代码风格,可转化统一风格
志同道合有几人
- Docker : 是为开发人员构建和运行应用程序而构建的平台
![00a7efde7443bb1a17750132623a8000.png](https://i-blog.csdnimg.cn/blog_migrate/b9cf9edb81a1b22135632e10ff0af978.jpeg)
https://www.docker.com/
- Kubernetes : 自动化容器部署,扩展,管理的应用程序
![31c01fb367006e779b20a6d934e300eb.png](https://i-blog.csdnimg.cn/blog_migrate/73f28df747a466f743ab40c90e5e4b32.jpeg)
https://kubernetes.io/
- Etcd : 分布式键值对存储系统
![14975e74df1ec347b9924fcfb701ead7.png](https://i-blog.csdnimg.cn/blog_migrate/8af27ded6b764b42e455452500684e54.jpeg)
https://etcd.io/
- baidu-netdisk-downloaderx : 一款图形界面的百度网盘不限速下载器,支持 Windows , Linux 和 Mac
![c61e23532e2632ce10c10710db36d2c4.png](https://i-blog.csdnimg.cn/blog_migrate/fd5382e955b996b2d3fc77920053612a.jpeg)
https://github.com/b3log/baidu-netdisk-downloaderx
- pan-light : 百度网盘不限速客户端, golang + qt5, 跨平台图形界面
![781f2ab243dec8877ecc351e651893ab.png](https://i-blog.csdnimg.cn/blog_migrate/09650e7ad1aec0a27bdbcf807b52d8ea.jpeg)
https://github.com/peterq/pan-light
自学技术哪家强
https://golang.org/
The Go Programming Language
- https://golang.google.cn/
The Go Programming Language
- https://tour.go-zh.org/welcome/1
Go 语言之旅
- https://studygolang.com/
Go语言中文网- Golang中文社区
- https://www.runoob.com/go/go-tutorial.html
Go 语言教程| 菜鸟教程
自问自答解疑惑
- go 和 golang 是什么关系?
go 是 golang 的简称,golang 是 go language 的缩写,即 go 语言.
- go 的常用 IDE 有哪些?
独立集成工具主要有 LiteIDE 和 GoLand 两种,但是常见 IDE 基本上均提供各种 Go 插件,支持 Windows ,MacOS 和 Linux 常见操作系统.
- go 的常见 Web 开发框架有哪些?
Beego ,Iris 和 Gin 等,国人用的比较多是 Beego,目前资料也比较齐全.
无总结不成文章
Go 是 Google 出品的开源编程语言,出身名门注定不凡,并且拥有十分活跃的社区环境.
国内使用 Go 语言比较早的公司主要有七牛云和 beego,其中七牛云主要是云存储方面的业务,这也正是 Go 支持高并发分布式的特色,而 Beego是 Go 的 Web 开发框架,支持 MVC 编程模型,不愧是国人开发深受国人喜爱.
同时,今年著名的 bilibili 源代码泄露事件也让我们看到了 Go 的身影,侧面说明了 Go 越来越流行,不愧是 21 世纪的 C 语言啊!
好了,暂时没有别的废话了,本文到此为止,下一章将开始介绍 Go 语言的环境搭建与 IDE 的基本配置,敬请期待.