go

王中阳Go1 小时前
后端·go
秒杀、分库分表、全链路追踪:一个电商微服务的架构全拆解很多中小团队做电商,起步阶段都是单体架构——一个 Go 服务包揽用户、商品、订单、支付所有逻辑,数据库也是单库单表。业务初期这样没问题,但随着流量增长,问题开始集中爆发:
漓漾li3 小时前
架构·go·agent
每日面试题(2026-05-15)题目类型: 代码分析题题目描述: 以下是一个缓存场景的代码实现,请分析这段代码存在的问题:问题:标准答案:
tyung5 小时前
数据结构·go
用 Go 实现一个生产级 Ring Buffer Queue:环形数组、位运算取模、批量操作全拆解源码:github.com/aiyang-zh/z…(MIT 协议)标签:Go / Ring Buffer / 泛型 / 并发编程 / 数据结构 / 队列
Wy_编程10 小时前
开发语言·go
golang 基础语法和函数Go语言引入了关键字var,而类型信息放在变量名之后变量定义(要求定义的变量必须使用,如果不使用就会报错)
养肥胖虎19 小时前
后端·nginx·docker·postgresql·go·部署
Docker学习笔记:后端、数据库和反向代理怎么一起跑起来好家伙,这次我们来系统梳理一下 Docker.之前我对 Docker 的理解比较散:但真正把一个 Go 后端服务,PostgreSQL 数据库,Nginx 反向代理放到一起思考时,才发现 Docker 不是单纯的"启动工具".
君万2 天前
算法·leetcode·golang·go
【LeetCode每日一题】3. 无重复字符的最长子串 560. 和为 K 的子数组给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。注意 “bca” 和 “cab” 也是正确答案。 示例 2:
用户095367515833 天前
后端·go
Go:浮点数如何进行比较?🐒:    我在学习学习 Go 语言的 数据类型 中的 浮点型 时遇到的不解:浮点数为什么不能直接比较?要比较的话推荐用 差值容限 ?什么是 差值容限 ?我去找 deepseek 问了一下,整理出了这篇文章。
漓漾li4 天前
go·agent·全栈
每日面试题-Go全栈AI agent场景设计题假设你负责设计一个高性能的微服务框架,需要在服务间进行高效的序列化通信。当前有 Protobuf (gRPC) 和 JSON (REST) 两种方案可供选择。
审判长烧鸡4 天前
go·map
【PHPer转GO】之高并发场景避坑Map补充内容在 Go 语言中,nil Map 的行为极其分裂:如果结构是 map[string]map[string]int。这就像个套间,你开了大门的锁,不代表里面的房门也是开着的。
扉页的墨4 天前
后端·面试·go
Go Channel 高级用法:那个让线上服务半夜宕机的 select 死锁,我排查了6个小时凌晨两点半,手机震了。监控群里一条告警:"订单服务连续 5 分钟无响应,健康检查失败。"重启,恢复。日志干干净净,没有任何 panic、没有任何 error。服务就像睡着了一样——既不干活,也不报错。
王码码20355 天前
后端·golang·go·接口
Go语言的内存管理:原理与实战Go语言的内存管理是其性能优势的重要组成部分,它通过自动垃圾回收(GC)机制,让开发者无需手动管理内存,从而提高开发效率。本文将深入探讨Go语言的内存管理原理,并通过实战案例展示如何优化内存使用。
~|Bernard|5 天前
golang·go
一.go语言中slice底层原理(2026-5-7)目录1.slice的底层结构是怎样的?2.Slice 是怎么扩容的?(版本差异是考点!)2.1 扩容的触发时机
审判长烧鸡5 天前
go·内存优化
Go 内存优化骚操作
焗猪扒饭5 天前
后端·go
极简案列入门golang依赖注入工具wirewire 是 google 提供的自动化的依赖注入工具, 能够帮助我们梳理各个模块的依赖关系, 并自动实现依赖注入。 以后端服务常见的service, biz, data 三层结构为例, 通常是 service 调用 biz, biz 调用 data, 也就是 service 启动要依赖于biz 的启动, biz 的启动要依赖于 data的启动。 随着服务的复杂, 比如一个 service依赖于多个biz, 多个biz依赖于多个data, 如果通过人工去处理这里面各个层级的构建,启动,将会是非常耗时且容易
讲不出 再见6 天前
go·指针
go语言-指针什么是指针?指针是存储一个变量的内存地址的,声明一个指针变量的格式如下:1. ‌声明时‌:表示指针类型(如 *int)
讲不出 再见6 天前
golang·go·package··包冲突
go语言-包‌逻辑分组‌:将相关功能的代码(如变量、函数、类型等)组织到同一个包中,便于维护和复用。‌避免命名冲突‌:通过包名限定标识符(如 fmt.Println),不同包中的同名标识符不会冲突。
王中阳Go7 天前
后端·go·ai编程
用Go写AI Agent:我从实战图书里总结了这些核心逻辑2026年,AI Agent这个词火遍了整个技术圈。所有人都在说:下一个十年,是Agent的十年。但真正动手写过的人知道,从 「调API」 到 「跑通一个能用的Agent」,中间隔着一整套工程化的坑。
扉页的墨8 天前
go
Go 错误处理之道:别再到处 return fmt.Errorf 了,你的代码正在失控团队代码库里搜了一下 fmt.Errorf,237 处。其中 189 处是纯粹的字符串拼接,没有任何错误类型信息。出了问题查日志,只能靠肉眼去 grep 关键词定位。更糟的是,这些错误一旦被多层函数包装,原始错误类型彻底丢失,errors.Is 和 errors.As 形同虚设。
止语Lab9 天前
go
你写的Go代码,编译器能"看懂"多少凌晨两点,编译器在优化你的代码。它看到一个函数调用,小函数,就两行。它把函数体"展开"塞进调用点,省掉了一次函数跳转。然后它继续往下看,看到一个接口调用——停下了。它不知道运行时拿到的是哪个具体类型,没办法展开,只好老老实实做动态分发。