摘要:
新建t表 CREATE TABLE `t` ( `id` int NOT NULL AUTO_INCREMENT, `c` int DEFAULT NULL, `name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '', PR 阅读全文
摘要:
先在服务器上安装go-delve go-delve的github地址:https://github.com/go-delve 在服务器上安装好go语言的环境,然后在服务器上安装go-delve go install github.com/go-delve/delve/cmd/dlv@latest 以 阅读全文
摘要:
package main import ( "fmt" "reflect" "time" ) type TA struct { Id *int32 `json:"id"` TT TT `json:"tt"` Arr Array[int32] `json:"arr"` Date Datetime `j 阅读全文
摘要:
go语言的错误处理没有其他语言的try,catch,finally异常捕获机制,需要显式地进行错误处理,如果只是单纯地将错误返回,在深度过大时可能无法清楚地知道调用的链路。这时候可以通过自定义错误类型,包装错误(wrap error)进行处理,在发生错误时返回带上调用链路。 package main 阅读全文
摘要:
package main import ( "fmt" "gorm.io/gorm" ) var GDB *gorm.DB type T struct { Id int32 `json:"id"` Pid int32 `json:"pid" gorm:"index"` Name string `js 阅读全文
摘要:
先新建两个表 CREATE TABLE `a` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', PRIMARY KEY (`id`) 阅读全文
摘要:
如果以拼接sql字符串来做的话,可能相对容易些,以前用过laravel的orm,感觉写起来叶没有那么困难,而转化为gorm时,则感觉花了比较久,也可能是因为还不熟悉的原因。 此次用到Scopes,感觉有点类似闭包,用到了子查询,以及DryRun模式,应用的gorm的技巧较多,只是完成一个功能。具体看 阅读全文
摘要:
因为这样一个需求,用户的生日可以直接存入数据库,但年龄是跟着时间变的,服务端需要计算结果返回前端,为了省事,直接在结构体定义时增加年龄字段,忽略存取,在json序列化时赋值,不过这样子只是在序列化的时候拿到值,服务端想要使用的话就需要先序列化,如果是 laravel 的话,通过toArray可以直接 阅读全文
摘要:
之前写的gorm存入数组,每个类型都需要定义,这次使用泛型,并通过使用lancet库转为string存入数据库,可以存入不同类型 package main import ( "database/sql/driver" "encoding/json" "errors" "fmt" "github.co 阅读全文
摘要:
go中Struct转map,map转Struct的测试 package main import ( "fmt" "github.com/mitchellh/mapstructure" "reflect" "time" ) func main() { type Info struct { Addr s 阅读全文