go-zero安装

dandan3年前程序开发2562

go版本1.20.2


go环境变量

export GOROOT=/Users/yelin/go_dev/go
export GOPATH=/Users/yelin/go_dev/project
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

下载goctl

GOPROXY=https://goproxy.cn/,direct go install github.com/zeromicro/go-zero/tools/goctl@latest


安装protoc & protoc-gen-go

goctl env check -i -f --verbose


创建测试项目hellow,进入执行

go mod init hellow


创建内容

goctl api new hellow1


下载依赖

go mod tidy


在hellow1/logic/hellow1logic.go中写逻辑

func (l *Hellow1Logic) Hellow1(req *types.Request) (resp *types.Response, err error) {
// todo: add your logic here and delete this line
resp = &types.Response{
Message: "hello go",
}
return
}


运行

go run hellow1/hellow1.go -f hellow1/etc/hellow1-api.yaml



微服务版本

建立目录,如hellow_rpc,进入后

创建order服务

goctl api new order

创建user服务

goctl api new user

建立工作区

go work init
go work use order
go work use user
//难道实际测试好像没有自动生成,手动改写go.work
go 1.20
use (
./order
./user
)


创建user的rpc文件,/user/rpc/user.proto

syntax = "proto3";
package user;
  
// protoc-gen-go 版本大于1.4.0, proto文件需要加上go_package,否则无法生成
option go_package = "./user";
message IdRequest {
    string id = 1;
}
  
message UserResponse {
    // 用户id
    string id = 1;
    // 用户名称
    string name = 2;
    // 用户性别
    string gender = 3;
}
  
service User {
    rpc getUser(IdRequest) returns(UserResponse);
}

执行创建

goctl rpc protoc user.proto --go_out=./types --go-grpc_out=./types --zrpc_out=.


跑完后,可以把里面除了user.protoc外的内容都放到上一层,然后上一层的user.api可以删除



相关文章

go-zero中使用jaeger链路追踪

go-zero中使用jaeger链路追踪

链路追踪分两块:(1)框架内置的,通过配置实现,一般都在api、rpc等中间件中,粗浅理解是请求级;(2)自定义的,可以定义到函数里,粗浅理解可以自己写代码级的,也就是可以跟踪每个函数方法的执行时间;...

wsl2安装docker+dify+xinference

1、wsl2安装ubuntu,这里指定版本安装一个新环境 wsl --install -d Ubuntu-22.042、安装完的ubuntu是在c盘的,放到其他...

git操作

将本地现有项目放到远端上:添加远程仓库: git remote add [远端名称] [远端地址], 名称一般默认都是origin,地址就是项目地址git remote add&n...

opemim安装部署

前置准备:(1)安装golang环境(官网下linux包到服务器解压,设置环境变量到bin目录即可),并设置go代理:go env -w GOPROXY=https://proxy.golang.co...

linux安装go环境

1、在 https://go.dev/dl/  下载linux的包2、上传到服务器,解压,比如放到/opt后,执行下命令,解压到当前目录得到go文件夹tar -xzf&n...

go-zero学习

goland创建新项目,需要在设置->go->go模块里启用go模块集成,不然下载的包无法正常引入根据api文件内容生成文件 goctl api go&nbs...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。