编辑
2024-12-30
后端
00
请注意,本文编写于 130 天前,最后修改于 130 天前,其中某些信息可能已经过时。

目录

环境安装
1. 安装 Go
1.1 下载 Go 安装包
1.2 安装 Go
1.3 配置环境变量
1.4 验证安装
2. 配置国内镜像
2.1 设置 Go 模块代理
2.2 验证配置
3. 安装 goctl
3.1 验证安装
4. 创建第一个 go-zero 项目
4.1 创建项目目录
4.2 使用 goctl 创建 API 服务
4.3 进入项目目录
5. 运行项目
5.1 启动服务
5.2 测试 API
6. 项目结构
7. 构建和部署

环境安装

1. 安装 Go

1.1 下载 Go 安装包

访问 Go 官方下载页面,选择适合 Windows 的安装包(例如 go1.21.3.windows-amd64.msi)。

1.2 安装 Go

运行下载的安装包,按照提示完成安装。默认会安装到 C:\Go

1.3 配置环境变量

安装完成后,Go 会自动将 C:\Go\bin 添加到系统的 PATH 环境变量中。如果没有,可以手动添加:

  1. 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
  2. 在“系统变量”中找到 Path,点击“编辑”,添加 C:\Go\bin

1.4 验证安装

打开命令提示符(CMD 或 PowerShell),运行以下命令验证安装:

cmd
go version

如果安装成功,你会看到类似以下的输出:

go version go1.21.3 windows/amd64

2. 配置国内镜像

由于国内网络环境可能访问 Go 官方模块仓库较慢,可以配置国内镜像加速依赖下载。

2.1 设置 Go 模块代理

在命令提示符中运行以下命令:

cmd
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct

2.2 验证配置

运行以下命令检查配置是否生效:

cmd
go env GOPROXY

如果输出为 https://goproxy.cn,direct,说明配置成功。


3. 安装 goctl

goctlgo-zero 的代码生成工具,可以通过以下命令安装:

cmd
go install github.com/zeromicro/go-zero/tools/goctl@latest

3.1 验证安装

安装完成后,运行以下命令验证:

cmd
goctl --version

如果安装成功,你会看到类似以下的输出:

goctl version 1.5.4 windows/amd64

4. 创建第一个 go-zero 项目

4.1 创建项目目录

在命令提示符中运行以下命令:

cmd
mkdir gozero-demo cd gozero-demo

4.2 使用 goctl 创建 API 服务

运行以下命令生成一个简单的 API 服务:

cmd
goctl api new demo

4.3 进入项目目录

生成的代码会放在 demo 目录中,进入该目录:

cmd
cd demo

5. 运行项目

5.1 启动服务

在项目目录下,运行以下命令启动服务:

cmd
go run demo.go -f etc/demo-api.yaml

5.2 测试 API

服务默认会监听 8080 端口。打开浏览器或使用 curl 访问以下 URL:

http://localhost:8080/from/you

你会看到类似以下的响应:

json
{ "message": "Hello, you" }

6. 项目结构

go-zero 生成的项目结构如下:

demo ├── etc │ └── demo-api.yaml # 配置文件 ├── internal │ ├── config │ │ └── config.go # 配置结构体 │ ├── handler │ │ ├── demohandler.go # 处理逻辑 │ │ └── routes.go # 路由定义 │ ├── logic │ │ └── demologic.go # 业务逻辑 │ ├── svc │ │ └── servicecontext.go # 服务上下文 │ └── types │ └── types.go # 请求/响应结构体 ├── demo.go # 入口文件 └── go.mod # Go 模块文件

7. 构建和部署

当你完成开发后,可以使用以下命令构建项目:

cmd
go build -o demo.exe

生成的 demo.exe 可以直接运行:

cmd
demo.exe -f etc/demo-api.yaml

image.png

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!