第一部分 语言基础
- Golang起步
- 初识Golang
Go编程语言是一个开源项目,旨在提高程序员的工作效率。
Go表达力强、简洁、干净、高效。它的并发机制使编写程序变得容易,从而最大限度地利用多核和网络化机器,而它的新型系统支持灵活和模块化的程序构造。Go可以快速编译为机器代码,同时还具有垃圾收集的便利性和运行时反射的功能。它是一种快速、静态类型的编译语言,感觉就像一种动态类型的解释语言。
以上对golang的介绍,完全来自于golang的官方网站, golang是创造于google公司的三个大牛级工程师Robert Griesemer, Rob Pike和Ken Thompson,三位主创人员设计之初的初衷是减少C++里对于网络编程和多线程并发里处理里的工程师在底层代码上的复杂性,2009年谷歌首次推出,并在 2012 年正式发布成全新的编程语言。
-
- go特点和用途
Golang的特点
- 开源
- 静态类型、编译型语言
- 并发编程支持
Golang的优势
1、高级语言、易于学习
2、继承C语言的一些优点,程序运行效率超高
3、天生为分布式和并发编程诞生,支持并发编程的基因,降低开发和维护成本
Golang的用途
Golang天生为网络和分布式系统开发而诞生的,非常合适设计网络服务器,存储集群或者各种用途类型的服务器的系统。 特别在云原生时代越来越广泛,Service Mesh架构成为新的网络架构的时代,Golang更是在一些知名产品里的熟悉的身影。 比如Docker, Kubernetes,Etcd, TiDB都是用golang进行开发的。对于高性能分布式系统,Go 语言无疑比大多数其它语言有着更高的开发效率。 而且其天生对大数量并行的支持,这对于类似游戏服务端和互联网大并发的开发而言是非常好的一种选择。
-
- 搭建编程环境
通过上面的介绍,相信大家已经跃跃欲试了。下面我们来一起搭建一下,使用golang进行开发的编程环境。
-
-
- 下载安装Golang开发环境
-
Go 语言支持的系统
- Microsoft Windows
- Linux
- Apple macOS
下载地址
进入golang官方网站 Downloads - The Go Programming Language
对应各支持操作系统的包名
操作系统 | 包名 |
Microsoft Windows | go1.18.3.windows-amd64.msi |
Linux | go1.18.3.linux-amd64.tar.gz |
Apple MacOS | go1.18.3.darwin-arm64.pkg |
UNIX/Linux安装
- 将下载的二进制包解压至安装目录<install-root>
root@boot2docker:~#tar -C /app/google -xzf go1.18.3.linux-amd64.tar.gz
- 添加<install-root>/go/bin至PATH 环境变量
方式一 直接修改
root@boot2docker:~#export PATH=$PATH:/app/google/go/bin
方式二 修改 profile文件,添加 export PATH=$PATH:/app/google/go/bin; 修改后,执行 source /etc/profile
root@boot2docker:~#cat >> /etc/profile << EOF
>export PATH=\$PATH:/app/google/go/bin
>EOF
root@boot2docker:~#source /etc/profile
方式三 修改 .bash_profile文件,添加 export PATH=$PATH:/app/google/go/bin; 修改后,执行 source ~/.bash_profile
root@boot2docker:~#cat >> ~/.bash_profile << EOF
>export PATH=\$PATH:/app/google/go/bin
>EOF
root@boot2docker:~#source ~/.bash_profile
验证安装
root@boot2docker:~#go version
Apple MacOS安装
- 安装包直接双击来进行安装
安装包完成安装后,Go将安装到/usr/local/Go。包应该将/usr/local/go/bin目录放在PATH环境变量中。您可能需要重新启动任何打开的终端会话才能使更改生效。
- 验证安装
$go version
Microsoft Windows安装
- 点击msi安装包,进行window下的安装, 按照安装的指导步骤,Step By Step,记住安装的安装目录
- 安装步骤结束后,将go的安装目录下的bin目录添加到,环境变量PATH里。 默认msi安装下,golang的安装会安装到目录c:/go下, 可以在安装过程中,自行指定安装目录
- 验证安装
C:\Users\NST>go version
go version go1.18 windows/amd64
-
- 第一个程序Hello World
是不是按奈不住激动的心情,马上准备来一发了, 所有的编程语言学习都是从helloworld开始的,下面开始我们人生中的第一个Golang程序吧!!!
选择目录,新创建一个文本文件, helloworld.go, 打开文本编辑器:
程序代码
package main //包名
import "fmt" //导入fmt库
func main(){
fmt.Println("hello world")
}
代码解析
package main 关键字package 声明一个包, 这里是可以直接运行的主程序,名称必须为main
import "fmt" //导入fmt库 关键字import 库包导入指令, 这里控制台打印,需要引入标准库里的fmt包
func main() // 关键字func 声明一个函数, 这里是可以直接运行的主程序, 函数的名称必须为main, 标识为运行程序的主入口, main包下的main函数,即为运行程序的主入口
fmt.Println("hello world") 通过调用fmt包的Println函数进行打印
代码运行
打开控制台(Window)或者Shell(Linux/MacOS), 进入源代码的目录, 使用go命令进行运行
C:\Users\NST>cd E:\WORK\PROJECT\git\go\gohutool\go-in-practice\code\charpter-01\helloworld
E:\WORK\PROJECT\git\go\gohutool\go-in-practice\code\charpter-01\helloworld>go run helloword.go
hello world
恭喜,我们的第一个golang程序就成功运行了。 目前我们在搭建的Go开发环境下,实现和运行了一个最简单的程序, 在后面的章节,我们将从golang的基础开始入门, 并通过实战的代码样例,逐渐开启golang之旅,一步一步解密golang是如何实现分布式体系开发的。