个人编程学习与练习仓库,涵盖 C++、Go、TypeScript 三门语言,聚焦算法刷题、标准库底层实现、语言特性深入理解。
coding/
├── cpp/ # C++ 学习与实践
│ ├── leetcode/ # LeetCode 题解 (C++)
│ │ ├── 169. MajorityElement/
│ │ └── 1345.跳跃游戏IV/
│ └── stl/ # 手写 C++ STL 标准库
│ ├── vector/
│ └── unordered_map/
├── go/ # Go 学习与实践
│ ├── leetcode/ # LeetCode 题解 (Go)
│ │ └── 1345. Jump Game IV/
│ ├── filepath/ # filepath 包探索
│ ├── flag/ # flag 包探索
│ └── os/ # os 包探索
├── typescript/ # TypeScript 学习
│ ├── 0.尚硅谷/ # 尚硅谷教程资料
│ ├── 1.hello/ # Hello World & 环境搭建
│ └── 2.feature/ # 语言特性练习
│ ├── abstractclass.ts
│ ├── accessmodifiers.ts
│ ├── enums.ts
│ ├── generics.ts
│ ├── interface.ts
│ ├── optionalchain.ts
│ ├── tuple.ts
│ ├── typealiases.ts
│ ├── typeguards.ts
│ ├── tooltypes/
│ └── modulesandnamespace/
└── Miniconda3.sh # Miniconda 安装脚本
按照 学习&实现计划表 从零实现 C++ STL 核心组件,深入理解容器底层原理:
- 已实现:
vector(动态数组)、unordered_map(哈希表)
- 计划周期:12-16 周
- 核心原则:先懂原理再写代码,循序渐进,边写边测,对标 STL 标准接口
对 Go 标准包的源码阅读与练习:
filepath — 文件路径操作
flag — 命令行参数解析
os — 操作系统接口
- Hello World — 环境搭建、编译运行
- 语言特性 — 逐个特性实践:
| 特性 |
文件 |
| 类型注解 & 类型推断 |
typealiases.ts |
| 接口 (interface) |
inteface.ts |
| 抽象类 (abstract class) |
abstractclassl.ts |
| 访问修饰符 |
accessmodifiers.ts |
| 枚举 (enum) |
enums.ts |
| 泛型 (generics) |
generics.ts |
| 元组 (tuple) |
tuple.ts |
| 可选链 (optional chaining) |
optionalchain.ts |
| 类型守卫 (type guards) |
typeguards.ts |
| 工具类型 (Partial 等) |
tooltypes/ |
| 模块与命名空间 |
modulesandnamespace/ |
# 编译
tsc hello.ts
# 运行
node hello.js
| 语言 |
工具链 |
| C++ |
clang/clang++, C++11/14/17 |
| Go |
go 1.x |
| TypeScript |
tsc (TypeScript Compiler), Node.js |
- 多语言对比:同一 LeetCode 题目用 C++/Go 分别实现,加深算法理解
- 底层驱动:从零手写 STL,吃透内存管理、模板、迭代器设计思想
- 循序渐进:TypeScript 从 Hello World 到高级特性,逐个击破
- 理论 + 实战:每个知识点都有可运行的代码验证