Go Gin 手把手教程

gin入门

 go get -u github.com/gin-gonic/gin

 

 

源码解析:

package main

//简单的几行代码,就可以实现web服务
import (
	"github.com/gin-gonic/gin" //程序所需要的导包
)

func Hello(context *gin.Context) { //gin.Context - 把请求和响应都封装到gin.Context上下文环境中了
	//对页面的渲染效果(多种),你要给浏览器响应什么效果
	context.String(200, "Hello World")
}
func main() {

	//r := gin.Default()
	//r.GET("/", func(context *gin.Context) {
	//	context.String(200, "Hello World")
	//})
	//r.Run()

	//Default()返回的是一个引擎Engine,它是框架非常重要的数据结构,是框架的入口。
	//引擎 - 框架核心发送机 - 默认服务器 - 整个web服务都是由它来驱动的
	//Default()底层调用了New(),相当于New()的升级,New()返回的是一个引擎,在此基础上多增加了中间件处理-engine.Use(Logger(), Recovery())
	r := gin.Default()
	//r := gin.New()
	//路由:通过访问"/"的GET请求走这一条处理逻辑,走对应的函数中的内容
	//"/" : 路由规则  函数:路由函数
	//路由请求方式:GET、POST、DELETE、PATCH、PUT、OPTIONS、HEAD、Any
	//函数:可以直接写匿名函数,还可以在外部定义函数使用
	//r.GET("/", func(context *gin.Context) {
	//	context.String(200, "Hello World")
	//})
	//函数:路径按照自己项目的规则去定义 "/"  "/user/demo"
	r.GET("/", Hello)
	//启动引擎 ,服务器启动
	//Run可以传入参数:host+port
	r.Run("127.0.0.1:8080")
}

 gin也提供了类似spring framework前后端开发功能

GOORM : Gitee 极速下载/goorm

go get github.com/astaxie/goorm

Connect 

orm := goorm.NewORM("127.0.0.1", "3306", "DATABASE", "USERNAME", "PASSWORD", "utf8")

Change Database

orm.SelectDb("test2")  

Model a struct after a table in the db

type Person struct {
	Id int64
	Name string
	Age int64
}

Create an object and save it

var someone Person
someone.Name = "john"
someone.Age = 20

orm.Save(&someone)

Fetch a single object

var person1 Person
orm.Get(&person1, "id = ?", 3)

var person2 Person
orm.Get(&person2, 3) // this is shorthand for the version above

var person3 Person
orm.Get(&person3, "name = ?", "john") // more complex query

var person4 Person
orm.Get(&person4, "name = ? and age < ?", "john", 88) // even more complex

Fetch multiple objects

var bobs []Person
err := orm.GetAll(&bobs, "name = ?", "bob")

var everyone []Person
err := orm.GetAll(&everyone, "") // use empty string to omit "where" clause

Saving new and existing objects

person2.Name = "Jack" // an already-existing person in the database, from the example above
db.Save(&person2)

var newGuy Person
newGuy.Name = "that new guy"
newGuy.Age = 27

db.Save(&newGuy)
// newGuy.Id is suddenly valid, and he's in the database now.

日志:Logrus logrus: Logrus 是一个结构化、可插拔的 Go 日志框架,完全兼容官方 log 库接口

最新的Go语言Gin框架教程可以按照以下步骤进行操作: 1. 首先,使用命令`go mod init my_gin`初始化一个新的Go模块\[1\]。 2. 为了加快下载速度,可以使用国内代理,执行命令`go env -w GOPROXY=https://goproxy.cn`\[1\]。 3. 下载Gin框架,执行命令`go get -u github.com/gin-gonic/gin`\[1\]。 4. 为了实现热加载,可以使用`fresh`工具。首先,执行命令`go get github.com/pilu/fresh`\[2\]。 5. 如果在使用`fresh`命令时遇到了“不是内部或外部命令,也不是可运行的程序或批处理文件。”或者“command not found: fresh”的问题,可以按照以下解决方案进行操作\[3\]: - 打开终端,使用`go env`命令查看`GO111MODULE`的值。如果是`auto`,将其改为`on`。 - 执行命令`go install github.com/pilu/fresh@latest`。 - 执行命令`go mod init <你的项目名称>`。 - 执行命令`go get github.com/pilu/fresh`。 - 然后可以直接使用`fresh`命令进行热加载。 另外,还可以使用`gin`工具来运行Gin框架,执行命令`go get github.com/codegangsta/gin`,然后使用`gin run main.go`命令来启动应用程序\[3\]。 关于Gin框架中的路由,可以参考相关文档进行学习和了解\[3\]。 希望以上信息对你有帮助! #### 引用[.reference_title] - *1* *2* [go下载gin框架](https://blog.csdn.net/qq_40787608/article/details/129889518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Golang gin框架](https://blog.csdn.net/book_longker/article/details/123760632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值