摘要: sync.Once —— 只执行一次的动作 为什么需要 Once 在程序中有这样一类需求:某个初始化操作成本很高(比如加载配置文件、建立数据库连接、初始化缓存),我们希望在程序的生命周期内只执行一次,并且第一次需要它的时候才执行(惰性初始化)。 最朴素的想法是: var config *Config 阅读全文
posted @ 2026-07-24 09:31 FfHUCisI 阅读(2) 评论(0) 推荐(0)
摘要: Go 学习- nil接口陷阱、Goroutine基础、Channel通信 一、nil 接口陷阱(完成 2.5 方法与接口) 1.1 接口值的内部结构 Go 的接口值并不是一个简单的指针,而是由两个字段组成的元组: 接口值 = (动态类型, 动态值) 动态类型:存储具体类型的类型描述符 动态值:存储具 阅读全文
posted @ 2026-07-24 09:31 FfHUCisI 阅读(2) 评论(0) 推荐(0)
摘要: Go 学习笔记:可变参数 & 方法与接口 今日学习总结 今天完成了 2.4 函数的最后一个知识点——可变参数,并正式进入 2.5 方法与接口。方法与接口是 Go 语言面向对象编程的核心:方法让自定义类型拥有行为,接口用隐式实现的方式定义抽象契约。今天覆盖三个知识点: 可变参数:函数接受任意数量的参数 阅读全文
posted @ 2026-07-24 09:30 FfHUCisI 阅读(2) 评论(0) 推荐(0)
摘要: Go 学习笔记:结构体嵌入、sort.Interface 与 io.Reader/Writer 今日学习总结 今天继续学习 2.5「方法与接口」的剩余三个核心知识点: 结构体嵌入(Embedding):用组合的方式复用字段和方法,理解 Go 中 "组合优于继承" 的设计哲学。 sort.Interf 阅读全文
posted @ 2026-07-24 09:29 FfHUCisI 阅读(2) 评论(0) 推荐(0)
摘要: Go 学习笔记:defer 延迟执行 & panic/recover 异常处理 一、defer —— 延迟执行的艺术 1.1 什么是 defer? defer 是 Go 语言中一个独特的关键字。它的作用非常直观:在函数返回之前,执行一段指定的清理逻辑。 你可以把 defer 理解为一个"临终嘱托"— 阅读全文
posted @ 2026-07-24 09:28 FfHUCisI 阅读(3) 评论(0) 推荐(0)
摘要: Go Map 实现原理:哈希表设计与渐进式扩容 一、Map 不是什么:澄清三个常见误解 在深入实现之前,先澄清: Go map 不是线程安全的。并发读写会触发 fatal error: concurrent map read and map write。需要 sync.Mutex 或 sync.Ma 阅读全文
posted @ 2026-07-24 09:28 FfHUCisI 阅读(1) 评论(0) 推荐(0)
摘要: Go JSON 编码:序列化、反序列化与结构体标签 一、为什么需要 JSON 处理 在现代软件开发中,JSON(JavaScript Object Notation)是应用最广泛的数据交换格式。无论是前后端通信、微服务之间的 RPC 调用、还是配置文件存储,JSON 几乎无处不在。Go 语言在标准库 阅读全文
posted @ 2026-07-24 09:27 FfHUCisI 阅读(3) 评论(0) 推荐(0)
摘要: Go 函数:多返回值、错误处理与一等公民 一、函数在 Go 中的地位 Go 语言中函数是核心的一等公民(first-class citizen)。这意味着函数可以像整数、字符串一样被赋值给变量、作为参数传递、或从其他函数返回。Go 的函数设计简洁而强大,其中最与众不同的特性就是多返回值和以此为基石的 阅读全文
posted @ 2026-07-24 09:26 FfHUCisI 阅读(2) 评论(0) 推荐(0)
摘要: Go 结构体:内存对齐、嵌入组合与 Tag 反射 一、Go 结构体的设计哲学 Go 没有类、没有继承、没有构造函数——这些 OOP 的核心概念在 Go 中被刻意省略了。取而代之的是: 结构体 = 数据容器 方法 = 附着在类型上的函数 接口 = 行为契约 嵌入 = 代码复用手段(不是继承!) Go 阅读全文
posted @ 2026-07-24 09:25 FfHUCisI 阅读(1) 评论(0) 推荐(0)
摘要: Go 数组与切片:内存布局与扩容策略 一、前置思考:为什么 Go 同时保留了数组和切片? 很多语言只提供动态数组(如 Python 的 list、Java 的 ArrayList),但 Go 同时保留了两者。这并非设计冗余——数组是切片的"地基",理解数组才能理解切片的内存共享模型。 核心区别:数组 阅读全文
posted @ 2026-07-24 09:24 FfHUCisI 阅读(4) 评论(0) 推荐(0)