- 博客(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
原创 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
原创 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
原创 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
原创 第四章,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关注的人
RSS订阅