go-zero安装

dandan3年前程序开发2794

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可以删除



相关文章

mac m1使用docker mysql踩坑

1、etcd版本用3.4.242、mysql镜像要用:mysql/mysql-server:8.0.323、mysql因为是8的版本,启动后本地没权限连接,需要进容器创建用户和添加权限:# ...

通过frp进行内网穿透

因为ngrok会定义刷新域名,有点限制,如果没有服务器域名,用他合适,如果有自己的服务器、域名,则用frp:按照https://blog.csdn.net/mirage003/article/deta...

go Imagick图片处理

使用前先需要安装ImageMagicMac环境brew install imagemagick #安装依赖(不确定装完上面会不会自动装) #尝试的时候发现依赖都装不上,把提示的...

golang环境安装(mac m1)

1、进官网https://www.gomirrors.org/下载tar格式的报,选arm64的2、在电脑新建一个目录,专门用于放go的项目3、将下载的包放到目录里,使用终端,进入该目录后,并进行解压...

linux安装go环境

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

宝塔ftp连不上

1、先检查端口是否有开放,涉及宝塔端口 和 云服务器的安全组;2、对Pure-ftpd的配置文件中,大概180来行的ForcePassiveIP  开放,并且把ip改成服务器的外网ip;...

发表评论    

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