知识分享之Golang——Gin学习之初次尝试(一)
2023-03-20 15:40:07 时间
知识分享之Golang——Gin学习之初次尝试(一)
背景
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。
知识分享系列目前包含Java、Golang、Linux、Docker等等。
开发环境
- 系统:windows10
- 语言:Golang
- 组件库:Bleve
- golang版本:1.17
- 组件官网:https://gin-gonic.com/zh-cn/
- 组件仓库:https://github.com/gin-gonic/gin
- 开源协议:MIT License
内容
本节我们使用Gin框架编写一个经典案例Hello World。废话不多说,下面直接开始。
1、首先打开Golang创建一个demo项目,并在Terminal命令框中输入如下命令,导入我们需要的Gin包:
go get -u github.com/gin-gonic/gin
go mod vendor
2、在main.go中编写一个初始gin函数
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
// 主入口方法
func main() {
initGin()
}
func initGin() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.String(http.StatusOK, "Hello World")
})
r.Run("127.0.0.1:8080")
}
3、启动并访问地址测试
我们发现刚才加入的返回值已经有效打印了,那我们要返回json如何处理呢?
4、修改返回信息为c.json
r.GET("/hello", func(c *gin.Context) {
// c.String(http.StatusOK, "Hello World")
mess := []string{
"Hello World",
"你好世界",
}
c.JSON(http.StatusOK,mess)
})
再次启动访问测试
这时返回的就是JSON了,那如果我们需要一个返回一个对象怎么办呢?
5、声明一个对象,并进行测试返回该对象的JSON
type User struct {
Id int `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
}
func initGin() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
// c.String(http.StatusOK, "Hello World")
mess := User{Id: 1,Name: "张三",Age: 12}
c.JSON(http.StatusOK,mess)
})
r.Run("127.0.0.1:8080")
}
再次重启访问测试
这时我们就成功返回该对象的JSON了,需要注意的是我们的实体中每个字段后面都有json:"名称"
的标记,这个是表示该字段转换为json后显示的名称,我们可以根据需要进行更改为不同的名称进行显示。
本节对于gin的尝试就先到这里,后续我们再继续进行深入。
相关文章
- 鸿蒙OS内测系统体验曝光:界面与EMUI明显不同、简洁流畅
- 360小程序为“全场景”而生,打破PC、移动双端边界
- 手机操作系统曾经的春秋与战国
- 芯片为何成了“国人之痛“?专家详解背后原因
- 周鸿祎谈华为鸿蒙系统:可以打造成安卓一样的开源系统
- 苹果真急了,开始到微软亚马逊家门口挖人了
- 苹果有没有当年谷歌离开中国的勇气?
- iOS13 和 iOS12.4 同时发布,你会选谁?
- 华为鸿蒙即将亮相 媒体宜支持不宜捧杀
- 华为创鸿蒙 不宜捧杀式赞美
- 从入门到放弃,一文回顾谷歌平板史
- Google:我们不做平板电脑了
- Catalyst代码曝光:macOS或迎来全新的Messages和Shortcuts应用
- 5G前夜,手机企业别慌
- 日经报道称苹果正考虑从中国转移15-30%的硬件产能
- 苹果中国大调整:iOS 13和全新系统来了
- 从C端到B端,我的产品设计之路
- iOS 13的前世今生(现世篇),苹果系统12年来都经历了什么
- 5G来了,这10个趋势值得关注
- 网曝华为或将采用极光手机操作系统?网友:自家的鸿蒙哪去了?