自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mac iTerm 常用快捷键

iTerm 是 macOS 操作系统上的一个流行终端模拟器,本文主要用于记录其常用的键盘快捷键,方便快速查询。

2023-08-13 16:31:20 212 1

原创 Go 验证器 validator 详解

validate = validator . New() // 注册所有的 sql.Null* 类型,使用 ValidateValuer 自定义类型函数进行验证 validate . RegisterCustomTypeFunc(ValidateValuer , sql . NullString {= nil {

2023-06-29 22:25:33 2788 1

原创 Go 数据类型 | struct 进阶

/ 1 匿名空结构体 var s struct {} // 2 命名空结构体 type S struct {} var s S。

2023-06-14 22:56:51 218

原创 Go 数据类型 | channel 进阶(下)

在我们分析了 channel 的源码,这篇文章我们来看看 channel 的常见问题。

2023-06-11 18:32:59 89 1

原创 Go 数据类型 | channel 进阶(上)

channel(通道)用于 goroutine(协程)之间的通信。它提供了一种在不同协程之间传递数据的机制。channel 是一种类型安全的、阻塞的、先进先出(FIFO)的数据结构,确保发送的数据按照发送的顺序接收。Go 语言提倡通过通信来共享内存,而不是通过共享内存来通信,CSP(Communicating Sequential Process)并发模型,就是通过 goroutine 和 channel 来实现的。

2023-06-06 23:09:22 278 1

原创 Go 数据类型 | map 进阶

map 在遍历时,并不是从固定的 0 号 bucket 开始遍历的,每次遍历,都会从一个随机值序号的 bucket,再从其中随机的 cell 开始遍历;map 遍历时,是按需遍历 bucket,同时按需遍历 bucket 中和其 overflow bucket 中的 cell。但是 map 在扩容后,会发生 key 的搬迁,这造成原来落在一个 bucket 中的 key,搬迁后,有可能会落到其他 bucket 中了,从这个角度看,遍历 map 的结果就不可能是按照原来的顺序了。

2023-05-27 18:17:23 168 1

原创 Go 数据类型 | slice 进阶

深拷贝则意味着在复制对象时,除了复制对象本身和其中包含的基本类型数据外,还会递归地复制对象所引用的其他对象。也就是说,在深拷贝中,复制出的新对象和原对象是完全独立的,它们之间没有任何引用关系。浅拷贝是指在复制对象时,只复制对象本身和其中包含的基本类型数据,而不会复制对象所引用的其他对象。因此,如果修改了其中一个对象中的引用对象,另一个对象也会随之改变。这样就得到了一个大于等于 1 的整数,在与 a 和 b 进行位运算后,可以得到它们的一部分二进制位,进而比较它们的大小关系。函数计算出要分配的内存大小(即。

2023-05-22 23:27:20 146 1

原创 Git 基础 - tag 的使用

Git tag 是 Git 代码版本管理工具中的一项重要功能,它可以用来记录在项目开发中重要的里程碑或版本号,并且可以通过标签名称快速定位到对应版本的代码。本文主要介绍了 Git tag 的基本使用。

2023-05-15 22:14:44 3992

原创 静态代码检查利器:golangci-lint

go 语言静态代码检查工具 - golangci-lint。

2023-05-12 10:45:47 2223 1

空空如也

空空如也

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

TA关注的人

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