golangci-lint 1.49.0版本,timeCmpSimplify linter规则错误,注意避坑

复制代码
package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(!t.After(t))
    fmt.Println(t.Before(t))
}
复制代码

相关问题记录:https://github.com/go-critic/go-critic/issues/1257

timeCmpSimplify recommends that you replace !time.Before() with time.After(), but these are not actually compatible (strictly-less being replaced with strictly-greater). Same with !time.After() and time.Before().

timeCmpSimplify会将代码 !t.After(t) 自动优化为 t.Before(t),这个变更实际长并不等价,缺少了严格等于的情况

 

解决方案:

禁用 timeCmpSimplify 规则

posted @   雪梨大佬  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示