随笔分类 - Golang
摘要:database/sql 是 Go 语言中一个标准库,用于处理关系型数据库的操作。它是一个轻量级的 SQL 数据库抽象,提供了一些基本的接口,包括连接、查询、事务等。database/sql 使用 SQL 驱动程序的方式连接不同的数据库,让我们可以使用统一的 API,而不用考虑底层数据库驱动的差异性
阅读全文
摘要:1) Update 更新单个字段值,使用结构体 2)Save用于保存所有字段。提示: 相当于根据主键id,更新所有模型字段值。如果记录在数据库中已经存在,Save 方法就会更新该记录。如果不存在,则会插入一条新记录。默认会更新该对象的所有字段,即使没有赋值 db.First(&user) user.
阅读全文
摘要:robfig/cron/v3 是一个 Golang 的定时任务库,支持 cron 表达式。低耦合高内聚,其中涉及装饰器模式,并发处理等。 依赖包 import "github.com/robfig/cron/v3" Cron 表达式 robfig/cron/v3与robfig/cron有差异,cro
阅读全文
摘要:1.日期->时间戳 timestamp := time.now().Unix() //转化为时间戳 类型是int64 2.时间戳->日期 timeNow := time.Unix(time.Now().Unix(),0) 3.日期->字符串 timeLayout := "2006-01-02 15:
阅读全文
摘要:limit、offset对count的统计的影响 错误示例1:请注意,如下例子中,Count放在了最后面,查询时,count方法也会加上Limit和offset这两个语句: global.DB.Limit(10).Offset(2).Find(&users).Count(&total) 错误示例2:
阅读全文
摘要:column: 指定数据库中的字段名,例如:column:name。type: 指定数据库中的字段类型,例如:type:varchar(255)。size: 指定字段的大小,例如:size:255。primaryKey: 指定该字段为主键,例如:primaryKey。autoIncrement: 指
阅读全文
摘要:defer会在函数返回前执行,例如资源释放等,那把代码写到函数末尾不就行了,为什么使用defer? 在使用defer的场景中,主要有以下几个情况: 1)关闭资源:使用defer可以确保在函数执行完毕后关闭打开的文件、网络连接、数据库连接等资源。如果没有使用defer,那么可能会因为依赖外部代码调用顺
阅读全文
摘要:优缺点 GORM最直观的感受:程序员只需关系结构体,操作结构体,无需关注如何操作数据库。 优点:提高开发效率 缺点:使用反射牺牲性能,牺牲灵活性 两个版本 github.com/jinzhu/gorm v1.9.16 gorm.io/gorm v1.21.3 Open // jinzhu func
阅读全文
摘要:C/S结构与B/S结构的区别 C/S结构指的是客户端/服务器结构,也称为三层结构。其特点是将应用程序分为客户端和服务器两部分,客户端通过网络传输数据到服务器,服务器处理请求并返回结果给客户端。该结构模式下,客户端负责业务逻辑和显示,而服务器则负责数据存储与处理。比如:电脑端下载的桌面应用 qq/微信
阅读全文
摘要:在GROM使用链式操作过程中,想知道最终执行的SQL是什么,本文讲解三种常见的SQL日志打印方法。 GORM 两个版本 1)jinzhu版(github.com/jinzhu/gorm) 2)IO版(gorm.io/gorm)【重点讲解】 一、全局打印所有的SQL 在gorm.io版本中,我们可以在
阅读全文
摘要:判断 *int 类型的变量是否为某个值可以通过如下步骤: 1. 先判断这个 *int 是否为 nil,nil 表示指针没有指向任何实际的内存地址,可以通过以下代码进行判断: ```if ptr == nil { // ptr 指向的内存地址为 nil}``` 2. 如果不是 nil,需要先通过指针
阅读全文
摘要:1、当只需要执行某个SQL而不需要进行获取返回值时 // 如果其中有变量,则使用?进行占位, sql := "要执行的SQL" // 在Exec方法中在sql 后面可以使用多个参数作为占位的补充 // 例如需要name=?,则写法可以使用util.Db.Exec(sql,"张三").Error er
阅读全文
摘要:一、介绍 https://github.com/syndtr/goleveldb LevelDB 是一个由 Google 公司所研发的 K-V 存储嵌入式数据库管理系统编程库,以开源的 BSD 许可证发布。其作为 LSM Tree 的经典实现,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般
阅读全文
摘要:想接收前端这样的数据格式:【json数组】 [ { "password": "casso", "mobile": "13456789999", "nick_name": "go", "icon": "地址" }, { "password": "casso", "mobile": "134567899
阅读全文
摘要:gorm框架执行原生sql有两种方式,作用不同,分别是: db.exec("sql语句") //执行插入删除等操作使用 db.raw("sql语句") //执行查询操作时使用 举例: db.Exec("UPDATE orders SET shipped_at=? WHERE id IN (?)",
阅读全文
摘要:AMQP 简介 从 AMQP 协议可以看出,Queue、Exchange 和 Binding 构成了 AMQP 协议的核心 Producer:消息生产者,即投递消息的程序。 Broker:消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Binding:绑定
阅读全文
摘要:在编程领域里,枚举是用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个实体对象的状态机来说,它通常与这个对象在数据库里对应记录的标识状态的字段值相对应。 举例:使用魔术数字进行判断,要置顶一个文章的时候先判断文章是不是已发布状态。 if (state == 2) {
阅读全文
摘要:一、问题分析 HTTP 400的状态码,可以统称前后端对应不上,说明这个请求是无效的,并没有进入后端服务器(控制器)。 主要有两种形式: 1、bad request 是 “错误的请求" 通常产生问题的原因也有两个:①前端传的参数类型或者名称与后台接收参数的实体类的属性类型或者名称不一致;②前端提交a
阅读全文
摘要:解决方法:改成国内可用的代理地址。在命令提示符输入: go env -w GOPROXY=https://goproxy.cn
阅读全文
摘要:出现报错: 根据代理软件查看对应端口号(因为可能不是缺省端口号),需要重新配置代理端口号。 这里本地代理的端口号是10794,而请求的对应的是10792端口,下一步设置记得修改端口号与本地代理代理保持对应(10794)。 #有些朋友好像为什么设置http和socket5其实设置哪种都是可以的,具体看
阅读全文
浙公网安备 33010602011771号