首页 > 其他分享 >go_test1

go_test1

时间:2024-10-25 15:20:31浏览次数:4  
标签:test1 200 Context context GET func go gin

package main

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

type Article struct {
	Id    int    `json:"id"`
	Title string `json:"title"`
}

func main() {
	// 定义路由
	r := gin.Default()

	// 返回字符串
	r.GET("/", func(context *gin.Context) {
		context.String(200, "内容:%v", "你好gin")
	})

	// 返回json
	r.GET("/json", func(context *gin.Context) {
		context.JSON(200, map[string]interface{}{
			"姓名": "张艺卓",
			"电话": "12345678910",
		})
	})

	// 返回json
	r.GET("/json2", func(context *gin.Context) {
		// type H map[string]any, any是interface{}的缩写
		context.JSON(200, gin.H{
			"姓名": "孟子恒",
			"电话": "12345678910",
		})
	})

	// 返回结构体
	r.GET("/json3", func(context *gin.Context) {
		// 大写才能被包外访问
		var a = &Article{
			Id:    1,
			Title: "斗罗大陆",
		}
		context.JSON(200, a)
	})

	// jsonp,可给params传入callback回调函数,用于处理跨域请求
	// http://localhost:8080/jsonp?callback=xxx
	r.GET("/jsonp", func(context *gin.Context) {
		// 大写才能被包外访问
		var a = &Article{
			Id:    1,
			Title: "斗罗大陆-jsonp",
		}
		context.JSONP(200, a)
	})

	// xml
	r.GET("/xml", func(context *gin.Context) {
		//context.XML(http.StatusOK, map[string]interface{}{ // 不知道为啥不显示
		//	"isTrue":  true,
		//	"content": "我是xml",
		//})
		context.XML(http.StatusOK, gin.H{ // 显示ok
			"isTrue":  true,
			"content": "我是xml",
		})
	})

	// html
	r.LoadHTMLGlob("templates/*") // 配置模板路径
	r.GET("/html", func(context *gin.Context) {
		context.HTML(200, "index.html", gin.H{
			"name":    "张艺卓",
			"mobile ": "12345678910",
		})
	})

	r.Run()
}

标签:test1,200,Context,context,GET,func,go,gin
From: https://www.cnblogs.com/cloud-2-jane/p/18502634

相关文章

  • Django之CURD
    创建[app名称]模块pythonmanage.pystartapp[app名称]添加到项目settings.py的INSTALL_APPS中#mysite/settings.pyINSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','dj......
  • Go语言和C++在内存管理上的比较
    #Go语言和C++在内存管理上的比较在探讨Go语言和C++在内存管理上的比较时,我们可以从几个核心观点进行分析:自动内存管理、性能、安全性。在这些核心方面,Go语言通过其垃圾回收机制提供了相对于C++更为自动化的内存管理方式,这一点在开发大型应用时尤为重要。自动内存管理是Go语言......
  • golang slice相关常见的性能优化手段n3
    作者:https://github.com/apocelipes/p/18502063介绍一些开发中常用的slice关联的性能优化手段。鉴于golang编译器本身捉鸡的优化能力,优化的成本就得分摊在开发者自己的头上了。这篇文章会介绍的优化手段是下面这几样:创建slice时预分配内存操作slice前预分配内存slice表达式......
  • Go批量读取channel的数据
    packagemainimport("fmt""time")funcbatchProcessor(ch<-chanstring,batchSizeint,flushIntervaltime.Duration){varbatch[]stringtimer:=time.NewTimer(flushInterval)for{......
  • (开题报告)django+vue医疗设备管理系统论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景在医疗领域,设备管理至关重要。关于医疗设备管理系统的研究,现有研究主要以传统的管理模式为主,专门针对基于django+vue技术构建的医疗设备管......
  • Go语言的版本历史和未来趋势
    ###Go语言的版本历史和未来趋势在探讨Go语言的版本历史和未来趋势时,我们可以明确地看到其发展轨迹是由初始发布、持续改进、以及对未来的规划组成的。Go语言,自2009年推出以来,已经经历了多个版本的更新,每次更新都旨在提升性能、增加新功能、改进语言特性和提高安全性。特别是在......
  • Go语言的移动开发能力和工具
    ###Go语言的移动开发能力和工具在探讨Go语言的移动开发能力和工具时,可以明确地说,Go语言支持移动开发,并提供了一系列工具和库来支持这一过程。Go的移动开发能力主要体现在其对Android和iOS平台的应用开发支持、提供的gomobile工具、以及对跨平台开发的支持。特别地,gomobile工具......
  • golang slice相关常见的性能优化手段
    介绍一些开发中常用的slice关联的性能优化手段。鉴于golang编译器本身捉鸡的优化能力,优化的成本就得分摊在开发者自己的头上了。这篇文章会介绍的优化手段是下面这几样:创建slice时预分配内存操作slice前预分配内存slice表达式中合理设置cap值添加多个零值元素的优化循环展......
  • (开题报告)django+vue基于Web的网上书店销售系统论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景在当今数字化时代,电子商务蓬勃发展,网上书店作为其中的重要组成部分,具有广阔的市场前景。关于Web网上书店销售系统的研究,现有研究主要以大......
  • gorm.io/sharding改造:赋能单表,灵活支持多分表策略(下)
    背景 分表组件改造的背景,我在这篇文章《gorm.io/sharding改造:赋能单表,灵活支持多分表策略(上)》中已经做了详细的介绍——这个组件不支持单表多个分表策略,为了突破这个限制做的改造。在上一篇文章中,我们讨论了注册的改造,注册的改造修改逻辑比较简单,但是,上一篇文章中遗留了一......