golang hertz框架入门

news2025/1/10 2:04:05

两种模式新建项目
1、手动新建项目
2、使用hz工具新建项目

一、手动创建项目,并拉取框架

1、新建项目目录 hertz_demo_w
2、在项目跟目录新建main.go 文件

package main

import (
	"context"
	"github.com/cloudwego/hertz/pkg/app"
	"github.com/cloudwego/hertz/pkg/app/server"
	"github.com/cloudwego/hertz/pkg/common/utils"
	"github.com/cloudwego/hertz/pkg/protocol/consts"
)

func main() {
	h := server.Default()

	h.GET("/ping", func(ctx context.Context, c *app.RequestContext) {
		c.JSON(consts.StatusOK, utils.H{"message": "pong"})
	})

	h.Spin()
}

3、拉取框架

# 生成 go.mod 文件。
go mod init
# 整理 & 拉取依赖。
go mod tidy
#运行示例代码。
go run main.go 

在这里插入图片描述
在这里插入图片描述

访问页面

在这里插入图片描述

目录结构

在这里插入图片描述

使用hz工具创建项目

安装 hz工具

# 安装
go install github.com/cloudwego/hertz/cmd/hz@latest
# 查看安装版本
hz -v

在这里插入图片描述

创建项目

#进入项目目录
 cd hertz_demo_w
 # GOPATH 下执行,go mod 名字默认为当前路径相对 GOPATH 的路径,也可自己指定
hz new
# 整理 & 拉取依赖
go mod init # 上一步在 GOPATH 下执行不会生成 go.mod
go mod tidy

在这里插入图片描述

修改文件,并访问

1、修改 biz\handler\ping.go

// Code generated by hertz generator.

package handler

import (
	"context"

	"github.com/cloudwego/hertz/pkg/app"
	"github.com/cloudwego/hertz/pkg/common/utils"
	"github.com/cloudwego/hertz/pkg/protocol/consts"
)

// Ping .
func Ping(ctx context.Context, c *app.RequestContext) {
	c.JSON(consts.StatusOK, utils.H{
		"message": "hello golang hertz",
	})
}

# 运行
go run ./

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2112834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPS如何查看已添加到词典的单词

WPS Office(12.1.0.17827) ① 点击文件,在文件中找到选项 ② 找到拼写检查并点击自定义词典 ③ 如果要删除已添加到词典的"错词",则点击修改 ④ 选择"错词", 点击删除

电工基础知识

1、电工常用的电工工具 2、PPR常用配件名称 3、铜芯导线如何选择线鼻子 4、丝锥孔径对照表 5、三相电机接线方法_星形_角型 6、内六角螺铨尺寸表 7、常用螺母规格尺寸 8、常用螺栓螺母名称 9、灭火器分类使用 10、电缆颜色使用代码 11、电缆铜铝鼻子 12、空气开关

力扣第一题:两数之和

文章目录 需求分析代码结尾 需求 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你…

Hexo博客构建记录

开学了,准备让休息了两个月的大脑重新活动一下筋骨,就尝试了一下Hexo博客的简单构建。在这里记录一下,方便以后使用。 以下是笔者搭建时用到的教程 简单搭建教程 简单,虽然个人感觉布局有点乱,关于上传文章的介绍略…

如何下载各个版本的tomcat-比如tomcat9

1,找到tomcat官网https://tomcat.apache.org/ Apache Tomcat - Welcome! 找到tomcat9,或者archives 1.1,找到对应版本 1.2,找到小版本 1.3,找到bin 2,Index of /dist/tomcat/tomcat-9/v9.0.39/bin 2.1&a…

七牛云存储OSS基本使用测试(超详细!!!)

首先就是注册,然后实名认证,这没什么可教的 认账成功后,点击对象存储Kodo 点击左侧空间管理,新建空间 输入一个名字,存储区域选择距离你地址比较近的,访问控制选择公开(这样别人在访问时也可以看到) 这样就…

”CSS 网格“二维布局系统(补充)——WEB开发系列32

CSS 网格布局是一种二维布局系统,用于网页设计。通过使用网格,你可以将内容以行和列的形式进行排列。此外,网格布局还能够简便地实现一些复杂的布局结构。 一、什么是网格布局? CSS网格布局是一种二维布局系统,它允许…

基于IMX6ULL的Cortex-A中断原理讲解,以及编写其中断向量表

首先借助STM32我们需要了解中断系统是如何构成的 会有一个中断源,也就是能够向CPU发出中断请求的设备或事件。中断源不分硬件和软件,也就是产生中断信号,就会执行中断服务函数 但是CPU是如何知道中断源产生后就找到对应的中断…

Redis持久化机制—RDB与AOF

Redis持久化机制 RDB(默认) **思想:**保存整个数据库的快照,也就是RDB文件,有两种保存方式,前台保存save和后台保存bgsave,前者会阻塞主进程程,后者则是fork一个子进程去完成备份操…

ffmpeg的安装和使用教程及案例

FFmpeg的安装与使用教程 一、FFmpeg简介 FFmpeg是一个开源的、跨平台的音视频处理工具,可以用来转换、播放、录制、流化音视频数据,以及进行多种音视频编码和解码。 二、安装FFmpeg 1. Windows系统安装 下载预编译的二进制文件:从FFmpeg…

828华为云征文|华为云服务器Flexus X搭建悟空crm管理系统——助力企业云上管理(解决APP Referer校验失败问题)

1、为什么我们企业会选择Flexus云服务器X实例来部署自己的CRM管理系统? 因为基于华为云Flexus X实例搭建CRM管理平台,可以从容面对企业内部瞬息万变的业务压力变化 2、华为云服务器Flexus X方案及优势: 灵活伸缩 搭配弹性伸缩服务AS及负载均…

Python Flask 实现图片上传页面

其中index.html文件&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Image and Text U…

地理信息系统设计与开发第一次作业,配置QGIS二次开发环境

我是根据这篇来配置的&#xff1a;QGIS二次开发环境配置&#xff08;VS2019QT5.12.2QGIS3.26.3&#xff09;-CSDN博客 其中&#xff0c; 我错误的理解了这里的意思&#xff0c;这些bin里面的东西和exe要在一个目录下。然后就不会有这样的问题了&#xff0c;

Swift知识点---RxSwift学习

1. 什么是RxSwift RxSwift是Swift函数响应式编程的一个开源库&#xff0c;由Github的ReactiveX组织开发、维护 RxSwift的目的是&#xff1a;让数据/事件流 和 异步任务能够更方便的序列化处理&#xff0c;能够使用Swift进行响应式编程 RxSwift本质上还是观察者模式&#xff…

栈—数据结构

一、系统栈 系统栈&#xff08;System Stack&#xff09;&#xff1a; 用途&#xff1a;系统栈通常指的是调用栈&#xff08;Call Stack&#xff09;&#xff0c;它用于存储程序执行期间的函数调用信息。每当一个函数被调用时&#xff0c;系统栈会记录这个调用的状态&#xff0…

notepad下载安装使用以及高级使用技巧

前言 Notepad是一款广受欢迎的文本编辑器&#xff0c;尤其受到开发者和编程人员的喜爱。它支持多种编程语言的语法高亮显示&#xff0c;并且提供了丰富的插件系统&#xff0c;使得功能可以轻松扩展。本文将详细介绍如何在Windows操作系统上下载、安装Notepad&#xff0c;以及基…

数据结构与算法 第11天 (查找)

一、概念 查找表 查找表是一个集合 静态查找表&#xff1a;查找完没变化 动态查找表&#xff1a;进行插入删除操作 主关键字 类似主键能唯一确定一个元素 平均查找长度ASL average search length 评价查找算法的指标 查找目的 1、查询某个“特定的”数据元素是…

Ifream实现微前端效果

记得有人曾问过我&#xff0c;老旧的项目内容很多&#xff0c;项目卡&#xff0c;想要改造成类似微前端&#xff0c;领导想要快速&#xff0c;又不想系统重构、而且是不同子系统的协同&#xff0c;要怎么做&#xff1f;对方不想做太大的改造&#xff0c;所以想用ifream的方式动…

图片隐写方法

1、常规隐写 思路&#xff1a; 1、文件头部被破坏&#xff1b;修复文件头部 2、16进制异或&#xff08;1E&#xff09; 3、宽高被修改&#xff1b;修复宽高&#xff1b;使用python脚本获取宽高或者使用tweakpng工具获取宽高 4、图片转化成base编码&#xff1b;让你还原图片 5、…

MySQL数据库的基本使用

目录 1.MySQL数据库中的用户管理与登录 1.1用户管理 root用户 其他用户 1.2MySQL数据库的登录 2.使用MySQL的前置知识 2.1SQL语言 SQL语言简介 SQL语句的分类 2.2编码集的认识 字符集 校验集 字符集和校验集的关系 如何查看和修改字符集与校验集 3.MySQL数据库的…