Skip to content

Go 语言中的 channel

Go 语言中的通道(channel)是用于在多个 goroutine 之间通信,它就像是一个传送带或者队列,遵循先入先出(FIFO)的规则,保证数据收发的顺序。同时,每一个通道都是一个具体类型的管道,所以在声明 channel 的时候需要为其指定元素类型。

1 个月前代码笔记

Go 语言互斥锁与读写锁

Go 语言中“锁”的作用是保护共享资源。当多个协程(goroutine)同一时间访问(或修改)同一个数据资源时,会出现数据竞争的问题,导致最终获取的效果与期望不一致。所以需要一把“锁”,锁住这个数据,让它同一时刻只能被一个协程访问(或修改)。

1 个月前代码笔记

Go 语言defer详解

Go 中的 defer 是一种延迟执行机制,用于在函数返回前执行特定操作。它在资源管理、错误处理和性能调试等场景中具有重要作用。本文详细记录 defer 的用法。

1 个月前代码笔记

Go 语言切片的值传递

Go 语言中的切片类型,在作为函数参数传递时,是“值传递”还是“引用传递”?

1 个月前代码笔记

开发 AI 对话功能的踩坑记录

最近给公司的 APP 开发了一个 AI 对话的功能,是直接做成 H5 页面内嵌到 APP 中的。功能本身不难,就是调用第三方 AI 接口,做点前端效果,只是过程中踩了点小坑,在此记录下。

5 个月前开发记录

解决 Mac 钥匙串访问中证书不受信任问题

开发 IOS 应用时少不了打几次证书,这次重新打包一个好久没动的 app,证书要重新申请,结果在导出 .p12 证书时,出现证书不受信任问题。

6 个月前开发记录

Go 语言中空接口以及类型断言的使用

空接口(Empty Interface)是 Go 语言中一个非常重要的概念。

7 个月前代码笔记

关于并发请求

日常开发中的并发请求,一般不会去特地控制,直接依次请求就好,或者使用 Promise.all() 包装一层,等待所有成功的结果。但是当并发请求的数量大起来后,如果不处理并发量,可能会造成较严重的后果。

10 个月前代码笔记

TypeScript 中 null,undefined 和 void 的区别

在 ts 中的原始类型基本与在 js 中保持一致,但是 nullundefined 是有点区别的,它们跟新增的 void 类型也有点关联,所以这里给它们捋捋关系。

10 个月前代码笔记

Vite 项目配置模块分包

使用 Vite 开发项目,build 后发现所有的逻辑文件都被打包在一个入口 js 文件中。

10 个月前代码笔记

Vue项目自动路由和自动导入功能配置

1 年前代码笔记

uniapp 开发记录

去年我用 uniapp 帮公司开发了一个跨平台 App,最近又改版优化了一版。App 虽然简单,但是也踩了不少坑,所以准备用此文记录一下。

1 年前开发记录

新的脚本,自动部署 Hugo 博客至服务器

之前写过一篇 通过 Github Actions 实现 Hugo 博客的自动构建部署,现在感觉部署脚本写的有点复杂了,所以重新写了一个脚本。

2 年前折腾记录

通过 Github Actions 实现 Hugo 博客的自动构建部署

玩过静态博客的人都知道,写一篇文章的过程远不如动态博客那么方便,每次写完文章部署时,都需要重新构建整个站点文件,然后再重新上传到网站服务器。这种方式过于繁琐,影响写博客的心情,所以需要更自动的方式,这里我推荐 Github Actions

3 年前折腾记录