![](https://img-blog.csdnimg.cn/9beb6e54fbb1446aaed68cbd4fc9afd4.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Go
文章平均质量分 71
go语言学习记录,gin框架
Take^that
可控的事情要谨慎,不可控的事情要乐观。
展开
-
Go基础理解 由浅入深
go面试题转载 2022-08-03 22:03:11 · 876 阅读 · 0 评论 -
go下载依赖报错:DIAL TCP 34.64.4.113:443: CONNECTEX: A CONNECTION ATTEMPT FAILED BECAUSE THE CONNECTED
用 go build 创建项目,拉取go第三方扩展包的时候报如下错误:dial tcp 34.64.4.113:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond转载 2021-11-07 10:53:45 · 4108 阅读 · 2 评论 -
go 事务里面多个sql collection.Commit()后只提交了最后一个sql
首先 开启事务:最后提交事务:上面的三条sql是在同一个事务里面的 最后也执行了commit了,但只有第三条sql是数据库数据发生了变化,原因是 我在执行第三条sql的方法里面又开启了一个事务,导致最后提交也只是把第三条sql提交了,前两条没有生效,这里简单记录一下。...原创 2020-04-14 17:23:12 · 605 阅读 · 0 评论 -
Golang下:listen tcp 0.0.0.0:8089: bind: address already in use
COMMAND表示进程名,PID表示进程编号,输入kill 4707 (4707就是PID)如果还被占用,就输入kill -9 4707强制结束进程。转载 2020-04-10 20:22:12 · 2511 阅读 · 0 评论 -
golang interface判断为空nil
参考博客:golang interface判断为空nil转载 2020-04-05 21:55:45 · 670 阅读 · 0 评论 -
go实现RPC httprpc、tcprpc、jsonrpc等
package mainimport ( "errors" "fmt" "net/http" "net/rpc")type Args struct { A, B int}type Math intfunc (m *Math) Multiply(args *Args, reply *int) error{ *reply = args.A * args.B return...转载 2020-03-17 12:22:06 · 436 阅读 · 0 评论 -
gin框架小项目案例demo
摘自github1、项目文件目录:2、main.goimport ( "awesomeProject/bubble/dao" "awesomeProject/bubble/models" "awesomeProject/bubble/routes" _ "github.com/jinzhu/gorm/dialects/mysql")// 遇事不决 注释先行func main...转载 2020-03-11 21:45:11 · 4783 阅读 · 0 评论 -
go启动报错:panic: runtime error: invalid memory address or nil pointer dereference
具体解释参考博文:一个有关Golang变量作用域的坑报错如下:解决:把下面的 DB, err := gorm.Open 中的冒号去掉就行了:最初的理解是golang会定义新变量err,DB为初始定义的那个全局变量。但实际情况是,对于使用:=定义的变量,如果新变量DB与那个同名已定义变量 (这里就是那个全局变量DB)不在一个作用域中时,那么golang会新定义这个变量DB,遮盖住全局...转载 2020-03-11 21:34:43 · 16472 阅读 · 3 评论 -
gin框架CRUD小栗子
import ( "fmt" "github.com/gin-gonic/gin" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" "net/http")type Todo struct { ID int `json:"id"` //和前端做交互 使用的是json数据 Title strin...转载 2020-03-10 17:21:46 · 1302 阅读 · 0 评论 -
go db.Create(&u)创建记录及字段默认值、使用指针或实现 Scanner/Valuer 、new(string)、sql.NullString{String:"", Valid:true}
1.设置默认值的情况type User struct { ID uint Name string `gorm:"default:'夜愿'"` //数据库 name字段设置默认值 Age int64}func main() { //1. 连接MySql数据库 db, err := gorm.Open("mysql", "root:root@(xxxxxx:3306)/data...转载 2020-03-08 12:50:28 · 888 阅读 · 0 评论 -
gin框架中间件 c.Next() c.Abort() c.Set() c.Get 跨中间件取值 gin中间件中使用goroutine
1. c.Next()演示//HandlerFuncfunc indexHandler(c *gin.Context) { fmt.Println("index") c.JSON(http.StatusOK, gin.H{ "msg": "index", })}//定义一个中间件func m1(c *gin.Context) { fmt.Println("m1 in .....转载 2020-03-07 13:17:41 · 11248 阅读 · 3 评论 -
Gin框架路由 get post put delete r.Any
func main() { r := gin.Default() //路由 r.GET("/index", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{ "method": "GET", }) }) r.POST("/index", func(c *gin.Context) { c.JSON(http.Stat...转载 2020-03-07 10:13:14 · 949 阅读 · 0 评论 -
gin框架的参数绑定
import ( "fmt" "github.com/gin-gonic/gin" "net/http")/*ShouldBind的强大之处: 不关是json类型的数据 还是form表单 还是query String 那种格式 你会发现代码都一样的ShouldBind能根据请求中ContentType类型 来决定我们采用什么方式 如果你传来queryString 类型参数 我就用...转载 2020-03-06 11:18:58 · 1309 阅读 · 1 评论 -
gin获取URI参数
需要留心的是,上图中,第二个请求的 blog是有可能匹配到第一个请求的name的,继而导致age 等于 year/:month这一串了,下面 再加上前缀就可以了转载 2020-03-05 23:14:24 · 2236 阅读 · 0 评论 -
go学习gin框架获取form表单提交的数据
import ( "github.com/gin-gonic/gin" "net/http")func main() { r := gin.Default() r.LoadHTMLFiles("./login.html", "./index.html") r.GET("/login", func(c *gin.Context) { c.HTML(http.StatusOK,...转载 2020-03-05 22:25:43 · 2546 阅读 · 0 评论 -
gin框架 运行站长素材 引用静态文件小例子
1. 下载素材虚拟货币交易平台单页模板2.解压后文件都放到statics里面,然后将index.html拖到posts目录,并改名为home.html,如下图:3.main.go:返回从网上下载的模板需要注意的是 xxx.tmpl模板文件 里面没有define名字的话,默认c.HTML(http.StatusOK, “文件名”, nil)4.运行,然后请求/home发现只有内容,...转载 2020-03-05 16:29:28 · 234 阅读 · 0 评论 -
gin框架 访问报错html/template: "users/index.tmpl" is undefined panic: template: index.tmpl:13: unexpectecd
参考博客:Golang 开发框架 gin 项目时笔记如果非要按照官方文档,请注意模板文件开头一定要定义{{ define "posts/index.tmpl" }}<html><h1> {{ .title }}</h1><p>Using posts/index.tmpl</p></html>{{ end }}...转载 2020-03-05 12:01:01 · 3292 阅读 · 0 评论 -
Go mod命令
Go mod提供了一系列操作modules的命令download //下载模块到本地缓存,具体可以通过命令go env查看,其中环境变量GOCACHE就是缓存的地址,如果该文件夹的内容太大,可以通过命令go clean -cacheedit //从工具或脚本中编辑go.mod文件graph ...转载 2020-03-07 20:38:32 · 774 阅读 · 0 评论 -
修改模板引擎标识符
然后页面就可以这样取值:{[ . ]}转载 2020-03-04 11:45:59 · 178 阅读 · 0 评论 -
go模板实现 用户输入的内容不被转译,自定义safe函数
因为默认的话html/template是全部转译的,像下图所示:想要实现的效果是 :不解析这句<script> alert(123)</script>,解析这句:<a href='http://liwengezhou.com'>锋哥博客</a>下面实现:备注:用New定义一个模板,再给它添加我们自定义的函数safe,这样我们在模板...转载 2020-03-04 11:44:22 · 253 阅读 · 0 评论 -
go模板继承 block
参考博客:添加链接描述注意上图中 要把根模板写前面 ;上图中,由于解析了俩模板,因此最后执行渲染模板使用的是ExecuteTemplate来指定你最终要渲染的是哪个模板,而不是之前的Execute注意上图中 要把根模板写前面 ;上图中,由于解析了俩模板,因此最后执行渲染模板使用的是ExecuteTemplate来指定你最终要渲染的是哪个模板,而不是之前的Execute注意,...转载 2020-03-04 00:07:32 · 1074 阅读 · 0 评论 -
Go的模板支持自定义函数
参考博客:Go语言的模板引擎func f1(w http.ResponseWriter, r *http.Request) { //定义一个函数smile //这个函数要么只有一个返回值,要么有俩返回值且第二个返回值必须是error类型 smile := func (name string)(string, error) { return name + ...转载 2020-03-03 22:28:20 · 464 阅读 · 0 评论 -
go模板语法简记
参考视频学习网站:【最新Go Web开发教程】基于gin框架和gorm的web开发实战遇事不决 先写注释 p5代码与笔记:1.解析模板 返回一个template指针和一个错误类型tmpl, err := template.ParseFiles("./hello.tmpl") 2.定义结构体时 属性首字母大写 页面可取值 小写的话取不到map除外 因为它是以键值对的形式t...转载 2020-03-03 16:20:27 · 203 阅读 · 0 评论