Go 进阶学习路线
一、语言特性进阶
-
接口与多态进阶
- 空接口
interface{}
与泛型(Go 1.18+)。 - 类型断言、类型 switch。
- 接口组合,理解 duck typing 思想。
- 空接口
-
泛型(Go 1.18+)
- 基本用法:
func Min[T constraints.Ordered](a, b T) T
。 - 常见泛型容器、工具函数的实现。
- 与 Java 泛型对比:Go 泛型更轻量,但功能没那么复杂。
- 基本用法:
-
错误处理进阶
errors.Is
/errors.As
(错误链)。- 自定义错误类型。
- 错误包装与日志记录。
-
defer / panic / recover
- defer 的执行顺序与资源清理。
- panic 与 recover 的异常恢复机制。
- panic 不等于 Java 的 Exception,要谨慎使用。
二、并发与并行进阶
-
channel 的高级用法
- 单向 channel (
chan<-
/<-chan
)。 - channel 关闭
- 单向 channel (