用更少的代码,更短的编译时间,创建运行更快的程序,享受更多的乐趣。
Golang 介绍
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
目的是为了解决:
- 现有主流编程语言"明显落后于硬件发展速度的问题
- 不能合理利用多核CPU的优势提升软件系统性能的问题
- 软件复杂度越来越高, 维护成本也越来越高的问题
- 企业开发中不得不在快速开发和性能之间艰难抉择的问题
为什么学 Golang
Go 的优势
-
简单易学:由于 Go 的语法在某种程度上类似于 C 语言,因此很容易掌握,特别是对于 C 风格或 Java 程序员。免费开源,教程全面。
-
高效开发:多种赋值、数据结构、指针、格式化以及内置的 HTTP 库等能使给开发者提供快速着手开发。
-
快速编译:Go 的编译速度要比绝大多数语言都要快,比 Java 和 C++ 快 5 至 6 倍,比 Scala 快 10 倍 。
-
性能优越:Go 极其地快,其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍。
-
内存管理:内置runtime,支持垃圾回收。
-
并发支持:使用其他编程语言(例如 Python、Java 等)创建多线程应用程序很困难,因为它们经常遭受性能问题,并发执行、线程锁定、竞争条件和死锁的困扰。在开发 Go 时,具有 goroutines 的概念,它是 Go 运行时管理的轻量级线程。它具有可扩展的分段堆栈,这意味着它将仅在需要时使用更多内存。Goroutines 具有内置原语,可在通道之间安全通信。共享数据结构时,它使您不必再求助于互斥锁。
-
丰富的标准类库:Go目前已经内置了大量的库,特别是网络库非常强大。
-
规范统一:GOFMT,强制代码格式,Gofmt 用一种官方的形式规格代码,避免了不必要的讨论。
-
Go 具备稳定的生态系统:Go 有着强大的工具支持,面向 Redis、RabbitMQ、PostgreSQL、Template parsing、Task scheduling、Expression parsing 和 RocksDB 的稳定的库。
最重要的是技多不压身,提大自己的技术广度~
Go 适合做什么
- 服务器编程,以前你如果使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
- 分布式系统,数据库代理器等。
- 网络编程,这一块目前应用最广,包括 Web 应用、API 应用、下载应用。
- 内存数据库,前一段时间 google 开发的 groupcache,couchbase 的部分组建。
- 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。
安装
首先到 Go 语言官网下载对应版本的安装包(https://golang.google.cn/dl)
Linux
-
通过删除 /usr/local/go 文件夹(如果存在)来 删除任何以前的 Go 安装,然后将刚刚下载的存档解压缩到 /usr/local,在 /usr/local/go 中创建一个新的 Go 目录:
$ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz
(您可能需要以 root 身份或通过 运行该命令
sudo
)。不要将存档解压缩到现有的 /usr/local/go 目录中。众所周知,这会产生损坏的 Go 安装。
-
将 /usr/local/go/bin 添加到
PATH
环境变量中。
您可以通过将以下行添加到您的 $HOME/.profile 或 /etc/profile (用于系统范围的安装)来做到这一点:
导出 PATH=$PATH:/usr/local/go/bin
**注意:**对配置文件所做的更改可能要等到您下次登录计算机时才会生效。要立即应用更改,只需直接运行 shell 命令或使用诸如
source $HOME/.profile
. -
通过打开命令提示符并键入以下命令来验证您是否已安装 Go:
go version
-
确认该命令打印已安装的 Go 版本。
Mac
-
打开你下载的包文件,按照提示安装Go。
该软件包将 Go 发行版安装到 /usr/local/go。该软件包应将 /usr/local/go/bin 目录放在您的
PATH
环境变量中。您可能需要重新启动任何打开的终端会话才能使更改生效。 -
通过打开命令提示符并键入以下命令来验证您是否已安装 Go:
go version
-
确认该命令打印已安装的 Go 版本。
Windows
-
打开您下载的 MSI 文件并按照提示安装 Go。
默认情况下,安装程序将安装 Go
Program Files
或Program Files (x86)
. 您可以根据需要更改位置。安装后,您需要关闭并重新打开所有打开的命令提示符,以便安装程序对环境所做的更改反映在命令提示符中。 -
验证您是否已安装 Go。
-
在Windows中,单击开始菜单。
-
在菜单的搜索框中,键入
cmd
,然后按 Enter键。 -
在出现的命令提示符窗口中,键入以下命令:
go version
-
确认该命令打印已安装的 Go 版本。
开发工具
常用的Go开发工具如下所示:
- Visual Studio Code
微软的产品,一个运行于Mac OS、Windows和Linux之上的工具,默认提供G语言的语法高亮。安装Go语言插件,还可以支持智能提示,编译运行等功能。 - Sublime Text
可以免费试用,默认也支持Go代码语法高亮,只是保存次数达到一定数量后需要购买。 - Vim
它是从vi(Linux)发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能非常丰富。 - Emacs
它不仅仅是一个编辑器,因为功能强大,可称为集成开发环境。 - Eclipse IDE工具
开源免费,并提供GoEclipse插件。 - LiteIDE
LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),是国人开发的。 - JetBrains公司的产品
Goland、PhpStrom、WebStrom和PyCharm等IDE工具,都需要安装Go插件。
Hello World
作者使用的开发工具是 Goland。
1、创建项目
创建一个 go 项目,命名为 go-learn:
2、编写 helloworld
package main // 入口程序 package 必须为 main,否则运行不了 import "fmt" func main() { fmt.Println("hello world!!!") }
3、运行程序
在控制台运行如下:
wangchaodeMacBook-Pro-2:go-learn charlie$ go run helloworld.go hello world!!!
小结
本节主要学习了 golang 的基本介绍, 语言的优势,用它能做什么,如何安装以及第一个程序 helloworld。
即将进入 golang 旅程~
-
评论区