首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go学习笔记
左诗右码
创建于2024-08-05
订阅专栏
分享一些与Go相关的工作经验与技巧,let's Go! Go! Go!
等 6 人订阅
共19篇文章
创建于2024-08-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
你真的懂 close(chan) 吗?90% 的 Go 开发者都掉过这个坑!
在日常 Go 并发编程中,我们可能会看到类似以下这样的代码: 这段代码看上去很奇怪:通道创建了没有任何写入就关闭?和我们常写的 done <- struct{}{} 有什么不同? 这到底是为了什么?这
用 Go 写桌面应用?试试 Wails 吧!
在前端开发中,提起桌面应用,很多人第一反应是 Electron。虽然它很流行,但不可否认也“很重” —— 内存占用高、打包体积大。 有没有更轻量的选择呢?当然有!今天我们来聊一聊一个非常有意思的项目
Conc,一个神奇的Go语言并发利器!
在 Go 语言中,goroutine 和通道是并发编程的核心,但随着项目复杂度的增加,管理成百上千个 goroutine 并确保它们正确协作变得极具挑战性。sourcegraph/conc 扩展包为我
Wire,一个神奇的Go依赖注入神器!
在介绍 wire 工具之前,我们先聊聊什么是控制反转(IoC)与依赖注入(DI)?它们解决了什么问题? 控制反转(IoC)与依赖注入(DI) 首先,让我们来了解一下控制反转(Inversion of
告别缓存击穿!Go 语言中的防并发神器:singleflight 包深度解析
在高并发场景下,我们常常遇到多个请求同时访问同一份资源的情况。例如,当缓存失效时,大量请求可能同时触发数据库查询,造成资源浪费甚至数据库崩溃。为了解决这一问题, Go 语言提供了 singleflig
Go 语言单例模式全解析:从青铜到王者段位的实现方案
什么是单例模式? 单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类(或结构体,在 Go 语言中)只有一个实例,并提供一个全局访问点来访问这个实例。这个模式在需要协调系统
如何为 gRPC Server 编写本地测试代码
在微服务架构中,gRPC 已成为主流的通信协议之一。但许多开发者在面对 gRPC 服务测试时,常常会遇到需要启动真实网络服务、管理端口占用等烦恼。 本文将介绍如何利用 Go 语言中 gRPC 提供的测
Go 语言中如何处理并发错误
在 Go 语言中,错误处理一直是开发中不可或缺的一部分。尤其在并发编程场景下,由于多个 goroutine 同时运行,错误的传递和处理就变得更为复杂。这篇文章就介绍了一些常见的处理并发错误的方法,以供
深入解析 go 语言中的 select 语句
在 go 语言中,select 是 Go 语言专门为并发编程设计的控制结构,主要用于在多个 channel 操作之间进行非阻塞选择。它的工作方式类似于 switch,但所有 case 分支都必须是 c
InfluxDB 时序数据的高效解决方案
InfluxDB 是什么? 它是一种开源的数据库,主要针对时间序列数据进行优化,能够高效地存储、检索和分析大量的时间序列数据。 InfluxDB 使用 Tag-Key-Value 模型来组织数据,这种
不用WebSocket也能搞定实时消息推送?试一试SSE吧!
在现代 Web 开发中,实现实时数据更新是一个常见的需求。比如股票行情、聊天消息、体育比赛比分等场景,都需要服务器能够主动将数据推送给客户端,而不是客户端频繁轮询服务器来获取最新数据。 今天,我们就来
Go语言切片,使用技巧与避坑指南
切片(Slice)是Go语言中最灵活且高频使用的数据结构之一,其本质是对底层数组的动态引用视图,支持动态扩容、高效截取等特性。 本文将结合代码示例,详细解析切片的核心用法及常见注意事项。 一、切片基础
Go语言中使用切片需要注意什么?
切片(Slice)是 Go 语言中非常强大且灵活的数据结构,它是对数组的一个连续片段的引用。切片的使用极大地简化了数组的操作,但在使用过程中也有一些需要注意的地方。 本文将详细介绍在 Go 语言中使用
你真的会使用 Go 语言中的 Channel 吗?
Go 语言的并发模型是其强大之处之一,而 Channel 则是这一模型的核心。Channel 提供了一种在 goroutine 之间进行通信和同步的机制。然而,正确地使用 Channel 并不是一件简
如何在 Go 中获取 goroutine 的 ID?
在使用 Go 语言进行并发编程时,Goroutine 是一种轻量级线程,具有很高的性能优势。然而,Go 语言并未直接提供获取 Goroutine ID 的官方 API。这是 Go 语言设计的一部分,目
Go 语言中如何操作二维码?
二维码(QR Code)已经成为我们生活中不可或缺的一部分,无论是支付、登录还是信息共享,它们可以轻松地存储和传输各种类型的数据,从网站链接到名片信息,无所不能。在开发中,我们经常会遇到识别二维码的需
如何判断两张图片的相似度?原来图片对比也可以如此简单!
在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到: 图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个社交媒体平台的运营,每天要处理数万张图片。重复图片不仅占用存储空间,还会影响
Go语言中使用sqlx来操作事务
在应用程序中,数据库事务的使用至关重要。它可以确保操作的原子性、一致性、隔离性和持久性(ACID)。github.com/jmoiron/sqlx 包提供了一个便利的方法来简化对数据库的操作。 本文将
Go语言中使用 sqlx 来操作 MySQL
Go 语言以其高效和简洁的语法逐渐受到开发者的青睐。在实际开发中,数据库操作是不可避免的任务之一。虽然标准库提供了 database/sql 包来支持数据库操作,但使用起来略显繁琐。 sqlx 包作为