自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 【mysql】记录锁、间隙锁与临键锁

记录锁(Record Locks)A record lock is a lock on an index record.作用:阻止其他事务插入/删除/更新该记录使用示例:SELECT c1 FROM t WHERE c1 = 10 FOR UPDATE; /* 此处假定c1列建了唯一索引,故仅锁住一行 ,注意与下面的Next-key Locks区分 */ 注:记录锁仅作用在索引上,如果没有索引,InnoDB 会创建一个隐藏的聚集索引,然后使用记录锁间隙锁(Gap Locks)A

2022-05-07 20:15:34 1295

原创 【golang】使用reflect实现根据json tag对结构体数组排序

需求描述:调用方通过指定结构体某字段(如示例1中的project_id),后端服务基于该字段排序后将结构返回;难点:后端视角与前端视角不一样,对于指定的字段,不能直接排序解决方法:法1:列举法法2:反射机制示例1:// 带json tag的结构体type Data struct { ProjectId string `json:"project_id,omitempty"` ProjectName string `json:"project_name,omitempty"`}//

2022-04-15 10:11:24 667

原创 [golang]给slice赋值或者遍历slice得到的结果不是预期结果

问题根源: 存的是指针(地址)还是变量值,变量值变化 != 地址变化给slice赋值结果不预期示例: var array []int // slice不初始化,需要结合append使用;直接使用会panic var pointerArray []*int for i := 0; i < 3; i++ { array = append(array, i) } for _, v := range array { pointerArray = append(pointerArray,

2022-04-12 20:21:31 886

原创 【golang】Functional Options 让调用更简洁

A nice way to deal with setting options in a Go package接口设计目标:接口调用理应尽可能简洁;相比直接使用结构体初始化接口参数,functional-options初始化方式可以做的更好如下两种方式的默认调用func NewServer(cfg Config) { // 根据cfg初始化}NewServer(Config{}) // 调用默认配置,调用必须传入cfgfunc NewServer(opt ...Opt){ // 根据op

2022-03-28 16:37:32 1720

原创 【golang】time.Parse 统一时区

UTC:世界标准时间(英語:Coordinated Universal Time,法語:Temps Universel Coordonné,简称UTC)是最主要的世界時間標準CST :UTC+8时区名称,中国标准时间是其一,详见维基百科释义GMT:格林尼治平均时间(Greenwich Mean Time),前世界标准时示例: layout := "2006-01-02 15:04:05" now := time.Now().Format(layout) t1, _ := time.Parse(l

2022-03-22 21:58:06 2366

原创 【golang】http request正确设置host

问题:直接在Header中设置Host是否可以生效?问题背景:需要区分Host调用不同环境的接口,但Host设置有问题导致接口调用失败服务端代码示例func StartServer(addr string) error { http.HandleFunc("/hello", SayHello) if err := http.ListenAndServe(addr, nil); err != nil { return err } return nil}func SayHello(rsp

2022-03-22 18:49:50 5961

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除