多线程的坑有如下代码 分析 将for循环中的i,直接作为线程的入参,有什么问题吗?直接将i作为入参,后面的几个线程都是使用同一个i变量。i后面的值会影响前面的值。需要使用新的变量作为入参才能满足使用要求。 多个线程对同一个变量进行操作需要加锁,使用volatile是无法避免的。必须使用锁才能保证数据不会出现...
阿里git提交规范提交的git commit message 格式 <type>(<scope>):<subject> type 必须 Type类型 说明 feat 新功能 fix/to 修复bug,QA发现bug,也可以是研发自己发现bug,fix:产...
基于共享变量的并发-笔记一、竞争条件 线性程序->顺序执行 并发条件下,函数依然可以正确工作=>函数并发安全 文档明确函数并发安全,才可以并发的访问它 并发无法工作(1)死锁(deadlock)-> 干瞪眼,谁都不好过。(2)活锁(livelock)->还活着,形成闭环,但没有...
官方文档 已经很详细的对gorm的使用方法进行介绍了。 连接数据库 操作数据库查询表是否存在db.HasTable(&user)db.HasTable(&User{})db.HasTable("users") 创建表db.CreateTable(&...
绘制图关系选择mermaid,在里面选择graph。有下列选项方向选择 类型 说明 TB Top->Bottom BT Bottom->Top LR Left->Right RL Right->Left 使用-->连接两个节点,名称一致为一个节点.--&g...
gin框架各种请求方式处理demo url参数获取 form表单获取 body中json数据获取 文件上传 gin使用SSL
go module介绍 go module 是从1.11版本开始支持的官方包管理工具。不用go module的话,所有的项目必须在gopath下创建,版本依赖无法处理。通过使用go module可以摆脱GoPath开发,可以通过配置go.mod文件来自已定义依赖包的版本。 go module的三种模式 off、...
golang反射 反射能做什么?获得运行时变量的值、根据变量名获得变量的值、更改变量的值。动态调用函数。 1、获得变量的类型reflect.Type中的Kind()函数可以获得反射的变量类型。通过变量类型判断可以选择不同的处理方式 2、调用函数 调用无入参出参函数 调用有入参函数 调用有入参和出参函数 ...
Golang 文件夹相关操作文件夹的创建创建一级文件夹 如果文件夹已经存在会返回错误 创建多级文件夹想要在不同的位置创建文件夹,和创建一级文件夹一致。 文件(夹)重命名文件夹重命名 文件重命名 移动文件(夹) 可以用Rename完成文件移动操作,将test2.txt移到oneLevelDi...
Http RPC 例子rpc server rpc client 笔记 使用rpc.Call()函数像调用本地函数一样,至于中间网络请求过程已经被隐藏了。
Page 7 / 15