先学习一下简单构建起一个项目

首先是官方的文档
先准备好,配置环境
主要是protoc, cwgo和thriftgo的下载
根据官方文档下载会有些问题,因为我使用的是windows系统,我在此再写一下我的历程。

首先是go的环境变量,可以先看一下自己的环境变量

命令 go env 有几篇帖子可以参考一下123
重要的几个
image
image-1733111301750image-1733111312059
用来设置环境变量
go env -w <variable_name>=<value>
注意powershell在调用环境变量时是有些区别的,需要
$env:GOPATH 这样

然后是三个插件的下载

protoc的下载参考protoc
注意下载win64版本
thriftgo和cwgo直接参考cloudwego官方文档
go install github.com/cloudwego/cwgo@latest
go install github.com/cloudwego/thriftgo@latest

构建项目

我们go的总体文件结构是这样的
image-1733112304385
mkdir -p $env:GOPATH/src/local/cwgo_test
cd $GOPATH/src/local/cwgo_test

创建idl

mkdir idl
官方的例子

# idl/hello.thrift
namespace go hello.example

struct HelloReq {
    1: string Name (api.query="name"); // 添加 api 注解为方便进行参数绑定
}

struct HelloResp {
    1: string RespBody;
}

service HelloService {
    HelloResp HelloMethod(1: HelloReq request) (api.get="/hello");
}

生成项目
cwgo server --server_name a.b.c --type HTTP --idl idl/hello.thrift -module local/cwgo_test
go run运行