自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 go的sync.Map,与sync.Mutex

sync.Mutex 是 Go 标准库提供的互斥锁类型,sync.Mutex{} 表示创建一个该类型的实例对象。使用LoadOrStore方法,存在则返回,不存在则创建再返回,保证原子性。Mutex 是英文 “Mutual Exclusion”(互斥)的缩写。sync.Map的键值可以并存多种数据类型。示例:每个机器人都需要他自己的一个锁。普通map不支持并发,会报错。

2025-10-15 15:10:05 187

原创 go-runtime监听系统资源

MemStats 结构体通过多个字段,全面记录了 Go 程序运行时的内存分配、垃圾回收(GC)、栈内存等核心资源。

2025-10-15 11:50:37 98

原创 go定时器 time.NewTicker的基础用法

time.Microsecond 微秒 1 微秒 = 1e-6 秒 = 1000 纳秒。time.Millisecond 毫秒 1 毫秒 = 1e-3 秒 = 1000 微秒。time.Nanosecond 纳秒 1 纳秒 = 1e-9 秒。构造参数类型是 time.Duration(时间间隔)time.Second 秒 1 秒 = 1000 毫秒。time.Minute 分钟。time.Hour 小时。

2025-10-15 11:37:53 260

原创 gorm标签大全和使用注意事项。

gorm:"column:column_name"` // 自定义列名`gorm:"primaryKey"` // 主键`gorm:"autoIncrement"` // 自增`gorm:"autoIncrementIncrement:2"` // 自增步长`gorm:"unique"` // 唯一约束`gorm:"uniqueIndex"` // 唯一索引`gorm:"index"` // 普通索引`gorm:"index:idx_name"` // 命名索引。

2025-09-01 17:28:41 434

原创 gorm进阶使用 - 多表联查

gorm.ModelBuyerID uint // 自定义外键(不使用默认的UserID)Buyer User `gorm:"foreignKey:BuyerID"` // 指定外键关联// 多对多自定义gorm.Model。

2025-09-01 14:22:14 615

原创 gin框架定时任务则怎么写

从 0 秒开始,每 5 秒执行一次任务,0,5,10,15,20,25。:从 0 秒开始,第一分钟执行,第二分钟不执行,第三分钟执行。L,last, 每月的最后一个星期五上午10:15触发。:每月 5 日中午 12 点触发(忽略 “周” 字段)[秒] [分] [时] [日] [月] [周] [年]# 每月的第三个星期五上午10:15触发。创建实例,c := cron.New()每月的8号, 08:08:08执行。每天的 01:02:03执行。启动,c.Start(),停止,c.Stop(),

2025-08-30 17:34:26 316

原创 panic使用规范+gin框架配合全局异常管理减少if err判断重复

类似于java中的异常,可用recover()延迟捕获,捕获异常后不会终止程序,而是跳到捕获函数的return中继续执行下去。

2025-08-30 16:06:42 593

原创 go结构体匿名嵌入初始化问题

Go 语言中匿名嵌入字段的成员不能直接用在结构体字面量初始化里,必须写成嵌套结构的形式。为什么这么设计,当有多个嵌入体且存在重名字段是得以区分。使用构造函数等封装简化。

2025-08-29 16:48:27 138

原创 前后端数据传输使用数字类型还是字符串

2025-08-26 17:16:18 309

原创 js-常用事件

操作场景事件触发顺序(按时间先后)触发条件与说明单次单击鼠标左键按下左键后松开,且未触发双击;仅响应左键,右键/中键不触发。双击鼠标左键两次单击间隔<浏览器阈值(约500ms)、位置偏差小;dblclick 在第二次 click 后触发。单击鼠标右键不触发 click/dblclick,而是触发右键专属的 contextmenu 事件(默认弹出浏览器右键菜单)。单击鼠标中键。

2025-08-26 16:02:43 595

原创 js常用语法

注意,但num=10.0时,str拼接过程中会省略.0,只保留整数位,为什么?将数字转为字符串,四舍五入+小数点位数,需要再转为数字类型。方法转,不可用于undefined和null。直接转,可用于undefined和null。隐式转,利用+字符串拼接。

2025-08-26 10:16:00 168

原创 无重复字符的最长子串

示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

2025-08-22 15:29:17 336

原创 MySql的时间数据类型选择

MySql常用时间数据类型。

2025-08-20 17:58:45 224

原创 Gorm 完成 CRUD 操作,映射、初始化连接、常用crud操作

1.实现 TableName 方法// 在 model/User.go 中return "user" // 明确指定表名,非负数形式return "user1234" //自定义2.全局禁用复数表名全局配置// 在 database/db.go 中// ...SingularTable: true, // 使用单数表名},})// ...UserID uint `gorm:"column:uid"` // 映射到 uid 列。

2025-08-18 16:55:45 492

原创 Go与MySQL数据类型及GORM注解详解

【代码】Go与MySQL数据类型及GORM注解详解。

2025-08-18 14:09:07 442

原创 Gin-grom-mysql后端学习项目

main.go:程序入口、加载配置config-初始化数据库?、创建路由router、启动服务,使用gin+grom+mysql生成一个学习用的小web记账项目,简单先行,便于学习。internal:是什么意思,私有应用代码(外部项目无法导入)handler:接收请求,返回响应,调用service层。dasebase/db.go ,初始化数据库连接四大参数。service:调用repository,复杂业务实现。暂无前端,使用postman测试接口?congig.go:配置,router.go,路由。

2025-08-18 11:49:31 371 2

原创 Golang构建一个多人在线对话系统

访问http://127.0.0.1:8888/,查看控制台是否打印。监听指定的网络端口,等待客户端连接,并在连接建立时进行简单处理。启动 → 监听端口 → 等待连接 → 处理连接 → 继续等待。

2025-08-16 11:00:29 215

原创 Go数据结构

【代码】Go数据结构。

2025-08-15 11:14:25 190

原创 LeetCode总结-Go语言示例

持续更新中。

2025-08-14 11:47:43 194

原创 GoLang基础语法

数组/切片/if/for。

2025-08-14 11:01:38 390

原创 第四章,gin框架中方请求参数获取-路径/查询/请求体-Param()/Query()/Post()/FormBind()/BindJSON()

路径参数查询参数请求体参数。

2025-08-13 16:27:42 254

原创 第三章,gin框架路由管理 - 响应体封装-controller层和router层的结合

1.HTTP请求RestFul风格:GET、POST、PUT、DELETE2.group路由分组怎么写3.项目工程化,router目录结构4.controller层封装统一响应体5.controller层调用响应体6.router里调用controller层的方法Gin 框架在内部调用函数值时,会自动传入 *gin.Context 参数。

2025-08-13 14:48:10 257

原创 第二章 使用gin输出HelloWorld-部分源码以及解读

本章内容概述:1.使用gin输出HelloWorld的常见示例2.部分源码解读3.gin引擎、gin.Context上下文上一章:面向Gin框架初学者,从宏观角度讲解核心概念,避免过度深入细节,但个别细节需要点题,帮助新手快速建立整体认知。

2025-08-13 10:52:18 416

原创 第一章:使用GoLand创建gin框架项目-golong下载安装配置-import “github.com/gin-gonic/gin“导入失败问题

如何你使用的是vsCode或命令行的话,应该没有这个问题,但使用GoLand的话还需要一些配置。1.除了配置golang主程序配置的环境变量外,我们还可以配置后面相关下载文件地址。1.官网:https://go.dev/dl/2.就近创建如go_work文件名(随便起名)3.然后在环境配置里为这两个配置环境变量。2.创建go.mod文件,这里可快捷创建。1.新建项目,本质就是创建一个文件夹。如果失败可能是没有创建go.mod。4.此时,import导入即可运行。3.终于可以下载gin并导入了。

2025-08-12 17:58:39 593

原创 listview控件

Adapter 是一个用于将数据绑定到视图的重要组件。它通常用于将数据集与界面控件(如 ListView、RecyclerView 等)进行连接。接下来就是实现不同的adapter,传给.listView.adapter。这里fruit_item.xml,包含ImageView和TextView。要写单list的xml,即一条数据对应的视图。我理解为封装一下每个list的数据和视图,要重新写个类来继承Adapter。看起来对binding不友好。activity中添加监听。##adapter实现。

2024-03-12 22:08:37 534 1

原创 android stdio日志工具log+Tap快捷使用 和 logcat的使用--新手向--2024

此时可以把TAG当成一个变量,在onClick外使用logt+Tap生成TAG变量。我们可以继续编辑,但是每次把TAG改成当前的Activity有些麻烦。旧版本可以直接通过鼠标点击来筛选,但貌似只能单一选择。是干什么的这里不多赘述,以logd举例说明。新版本需要敲字来选择,但可以叠加筛选。当然不用愁打字麻烦,有提示词快捷输入。这里就已经弹出提示,按下。然后我们就可以访问的使用。

2024-02-19 21:17:22 672 1

原创 markdown学习

Markdown学习标题标题标题 :一级#空格内容​ 二级##字体粗体斜体删除引用用>分割线用—或***图片![JIETU]加()也可以鼠标右击超链接SHA[]:列表123数字加点加空格减号减号加空格表格123456789000代码三点左上```...

2021-02-01 22:48:35 223

空空如也

空空如也

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

TA关注的人

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