Hertz 是字节内部广泛使用的一个 HTTP 框架,最近在学 Go,这个项目是个非常好的学习项目。
我也是新手入门,先从快速开始看起吧。
安装命令行工具 hz
确保自己的 Go 环境是配好的,有 $GOPATH 这个环境变量。(我安装语言的时候没有设置,好像是在安装完 VS Code 的 Go 扩展之后要一些依赖,那些依赖直接拿 ~/go 当这个环境变量的值了),然后:
$ go install github.com/cloudwego/hertz/cmd/hz@latest
确定代码放置位置
我不放到 $GOPATH 里面,这一步不需要设置什么。
生成/编写示例代码
-
在当前目录下创建 hertz_demo 文件夹,进入该目录中
$ mkdir hertz_demo $ cd hertz_demo/ -
生成代码。我当前不在
GOPATH里,需要添加-modflag 指定一个自定义的模块名称。详细参考这里。$ hz new -mod hertz_demo -
整理 & 拉取依赖
$ go mod tidy -
编译项目
$ go build -
运行测试
第一个终端里运行这个项目(先确定编译结果文件的名字,我这里和文件夹名字一样,也是
hertz_demo)$ ./hertz_demo代码正常启动会看到
2023/06/05 21:34:37.076215 engine.go:617: [Debug] HERTZ: Method=GET absolutePath=/ping --> handle rName=hertz_demo/biz/handler.Ping (num=2 handlers) 2023/06/05 21:34:37.076896 engine.go:389: [Info] HERTZ: Using network library=netpoll 2023/06/05 21:34:37.077095 transport.go:115: [Info] HERTZ: HTTP server listening on address=[::]:8888第二个终端里测试这个代码通了没有
$ curl 127.0.0.1:8888/ping结果是给我返回一个
{"message":"pong"},这样就算成功了。