![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 78
不会拯救世界的SuperMan
这个作者很懒,什么都没留下…
展开
-
GO-时间包time
go语言中使用time.Time表示时间。我们可以通过time.Now函数获取当前的时间对象,然后从时间对象中可以获取到年、月、日、时、分、秒等信息。原创 2022-07-24 08:00:00 · 810 阅读 · 0 评论 -
Gorm.Clause()子句分析之ON DUPLICATE KEY UPDATE
最近看到一段代码,使用到在了gorm的Clause()子句,大概如图所示。之前由于没用过Clause()子句,所以本文对Clause()子句先进行研究,然后分析sql语句。即便如此,在实际开发中,我们仍然不推荐这种写法,因为这种写法耦合了add和update两种操作,线上出现bug时,极难定位问题。推荐的做法是单写一个add方法,只负责插入数据,插入重复数据时,根据业务场景做幂等性处理;单写一个update方法,只负责更新操作。两个函数单独打自己的log,便于定位问题。httpshttpshttps。...原创 2022-07-22 07:45:00 · 1768 阅读 · 0 评论 -
GORM框架学习笔记(更新中ing)
默认情况下,GORM 使用 `ID` 作为主键,使用结构体名的 `蛇形复数` 作为表名,字段名的 `蛇形` 作为列名,并使用 `CreatedAt`、`UpdatedAt` 字段追踪创建、更新时间原创 2022-07-21 07:15:00 · 1066 阅读 · 0 评论 -
GO-数组和切片
1. 数组 数组是一个长度固定的数据类型,用于存储一段具有相同类型的元素的连续块。数组存储的类型可以是内置类型,如整型或者字符串,也可以是某种结构类型。2. 切片 切片是围绕动态数组的概念构建的,可以按需自动增长和缩小 切片是一个很小的对象,对底层数组进行了抽象,并提供了相关的操作方法。切片有3个字段分别是`指向底层数组的指针`,`切片访问的元素个数(即长度)`和`切片允许增长到的元素个数(即容量)`...原创 2022-07-20 07:30:00 · 215 阅读 · 0 评论 -
GO-异常处理
1、GO中Panic是一种系统级别的异常,一旦出现回终端程序的运行,来自运行时。并且当我们手动调用panic()函数的时候也会触发这个异常。2、手动触发panic()当panic()触发的时候,会立即在当前GO程中执行一个defer,并且其实际会输出详细的堆栈调用日志。......原创 2022-07-18 16:56:33 · 1170 阅读 · 0 评论 -
GO-单例模式
使用sync包下once对象提供的Do方法,只执行一次。原创 2022-07-18 16:55:59 · 964 阅读 · 0 评论 -
GO-反射
通俗意义上面来讲,Kind是GO中定义的一个对象属性的归属,用户可能会通过type关键词给类型起别名,而这个时候kind就反映了它实际真实的对象归属。在GO中type实际上指得是系统原生数据类型,如int、string、bool、float32等类型,以及使用type关键字定义的类型,GO中的变量实际上分为两个部分,一个部分是变量类型,一个则是实际的Value。返回类型单位大小,类型非数字类型发生Panic。In返回函数类型的第i个输入参数的类型。返回存储给定存储类型的值所需要的字节数量。...原创 2022-07-18 16:55:17 · 374 阅读 · 0 评论