前言
本专栏
将零基础教大家如何来实现一个采用 REST 风格+JSON构建的 API 服务器
,这是 Go API 开发中很常用的组合,这种模式能满足绝大多数的需求场景。通过实战展示了 API 构建过程中各个流程(准备 -> 设计 -> 开发 -> 测试
[可选] -> 部署)的实现方法。
大纲展示
GO语言的基本介绍
Go语言的特点
Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发速度和易维护性,有人形容Go语言: Go = C + Python
, 说明Go语言既有C静态语言程序的运行速度
,又能达到Python动态语言的快速开发
。Go语言有以下
特性:
- 自动垃圾回收: C/C++最头疼的就是指针问题,一不小心就野指针了或者又越界了。在Go语言里再也不用担心,也不用考虑delete或 者free,
系统自动会回收
。 - 函数可以返回多个值: 这个很神奇,大多数语言只能返回一个值,
Go语言可以返回多个值
。这个功能使得开发者再不用绞尽脑汁的想到底怎么返回值的设计,也不用为了传值专门定义一个结构体。 - 并发编程: Go语言天然并发,只需要关键字“go”就可以
让函数并发执行
,使得并发编程变得更为简单,这也是Go语言最大的优势。 - 没有依赖地狱, 甚至是glibc
- 编译一次,随处拷贝,部署极为方便: 不用像python项目一样要安装所需要的依赖,GO项目的部署简便、快捷!
GO语言开发环境配置
Go的安装
Go 有多种安装方式,如:Go 源码安装、Go 标准包安装、第三方工具(yum、apt-get 等)安装
两个环境变量的介绍:
GOROOT:GOROOT 就是 Go 的安装路径
GOPATH:GOPATH 是作为编译后二进制的存放目的地 和 import 包的搜索路径(其实也是你的工作目录,存放GO文件的路径
)
GOPATH详解
go_code // (例go_code为GOPATH目录)
-- bin // golang编译可执行文件存放路径,可自动生成。
-- pkg // golang编译的*.a中间文件存放路径,可自动生成。
-- src // go源码路径。按照golang默认约定,go run,go install等命令的当前工作路径(即在此路 径下执行上述命令)
Linux下安装GO
- 获取安装压缩包
$ yum install wget -y
$ wget https://golang.google.cn/dl/go1.18.3.linux-amd64.tar.gz
$ tar -xzvf go1.18.3.linux-amd64.tar.gz
$ mv go /usr/local/
- 设置环境变量
在
~/.bashrc
中添加 GOPATH 变量
# 安装目录
export GOROOT=/usr/local/go
# 代码目录
export GOPATH=~/code
export PATH=$PATH:$GOPATH:$GOROOT/bin
# 注意:如果之前安装过想选用最新版本
export PATH=$PATH:$GOROOT/bin:$GOPATH
添加完成后,保存文件,并执行
source ~/.bashrc
- 测试是否安装成功
$ go version
go version go1.18.3 linux/amd64
看到 go version 命令输出 go 版本号 go1.10.2 linux/amd64 ,说明 go 命令安装成功。
Mac平台安装GO
$ brew