知识分享之Golang——Gin学习之初次尝试(一)

简介: 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。

知识分享之Golang——Gin学习之初次尝试(一)

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

内容

本节我们使用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、启动并访问地址测试

image.png

我们发现刚才加入的返回值已经有效打印了,那我们要返回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)
    })

再次启动访问测试
image.png

这时返回的就是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")
}

再次重启访问测试
image.png

这时我们就成功返回该对象的JSON了,需要注意的是我们的实体中每个字段后面都有json:"名称"的标记,这个是表示该字段转换为json后显示的名称,我们可以根据需要进行更改为不同的名称进行显示。

本节对于gin的尝试就先到这里,后续我们再继续进行深入,欢迎大家持续关注知识分享之Golang系列。

本文声明:

5330898-d1c72b6c90e378f3.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

目录
相关文章
|
1月前
|
安全 Java Go
【Golang入门】简介与基本语法学习
Golang语言入门教程,介绍了Go语言的简介、基本语法、程序结构、变量和常量、控制结构、函数、并发编程、接口和类型、导入包、作用域以及错误处理等关键概念,为初学者提供了一个全面的学习起点。
23 0
|
3月前
|
机器学习/深度学习 存储 人工智能
Golang bytes 包学习
Golang bytes 包学习
24 3
|
4月前
|
编译器 Go C语言
通过例子学习在golang中调试程序
【7月更文挑战第4天】Go语言支持使用cgo进行汇编调试,官方文档在golang.org/doc/asm。注意,调试Go运行时可能遇到变量不可用或行号错误,需谨慎使用step命令。
72 1
通过例子学习在golang中调试程序
|
3月前
|
关系型数据库 API Go
[golang]在Gin框架中使用JWT鉴权
[golang]在Gin框架中使用JWT鉴权
104 0
|
3月前
|
网络协议 Go
[golang]gin框架接收websocket通信
[golang]gin框架接收websocket通信
101 0
|
6月前
|
Go
golang学习参考记录
golang学习参考记录
|
6月前
|
JSON Go 数据格式
golang学习7,glang的web的restful接口结构体传参
golang学习7,glang的web的restful接口结构体传参
|
6月前
|
JSON Go 数据格式
golang学习6,glang的web的restful接口传参
golang学习6,glang的web的restful接口传参
|
6月前
|
JSON Go 数据格式
golang学习5,glang的web的restful接口
golang学习5,glang的web的restful接口
|
6月前
|
Go
golang学习4,glang的web接口
golang学习4,glang的web接口