教程总览

全部编程与 AI 教程,按系列组织。

Go 实战教程

Go 进阶教程

编程教程进阶系列 1

Go 包与模块管理

讲清 module、package 与目录的关系:go.mod 与 go.sum、internal 目录、导出规则、go get 与 go mod tidy、版本选择与 replace,以及常见的循环依赖处理。

编程教程进阶系列 2

Go 测试与基准测试

用标准库 testing 写表驱动测试:t.Run 子测试、t.Helper 与 t.Cleanup、临时目录、错误断言、基准测试与内存统计、覆盖率与 fuzz,以及测试的组织习惯。

编程教程进阶系列 3

Go context 与取消传播

context 的作用与用法:Background 与 TODO 的取舍、WithCancel/WithTimeout/WithDeadline、ctx 作为首个参数向下传递、select 监听 Done、避免泄漏与不要存进结构体。

编程教程进阶系列 4

Go goroutine 与 channel

并发原语的正确用法:go 与 WaitGroup、无缓冲与有缓冲 channel、close 与 range 的规则、select 与超时、worker pool、Mutex 与 channel 的选择,以及 race detector。

编程教程进阶系列 5

Go 泛型入门

类型参数与约束的实用入门:any 与 comparable、自定义约束与 ~ 底层类型、Map/Filter 等通用函数、泛型类型、类型推断,以及什么时候不该用泛型。

编程教程进阶系列 6

Go 性能剖析:用 pprof 找热点

从基准测试产物到生产采样:CPU 与堆 profile 的采集方式、top/list/web 与火焰图的读法、benchstat 对比两次改动,以及 pprof 端点该暴露给谁。

JavaScript 进阶教程

编程教程进阶系列 1

JavaScript 模块:ESM 与 CommonJS

讲清 ESM 的 export/import、默认导出与具名导出的取舍、动态 import、CommonJS 的 require/module.exports,以及 Node 与浏览器中的模块解析规则和互操作坑。

编程教程进阶系列 2

JavaScript 异步与 Promise

从事件循环出发讲清 Promise 的三种状态与链式调用,async/await 的错误处理,串行与并行的取舍,以及 Promise.all、allSettled、race、any 的使用场景。

编程教程进阶系列 3

JavaScript fetch 与 HTTP 请求实践

fetch 的基本用法与常见误判:状态码不会自动 reject、Response 只能读一次、超时与取消、失败重试与退避,以及浏览器 CORS 和 Node 环境的差异。

编程教程进阶系列 4

JavaScript DOM 与事件

选择与创建节点、批量更新与重排、事件冒泡与捕获、事件委托、监听器清理与 AbortSignal,以及 innerHTML 带来的 XSS 风险与表单处理要点。

编程教程进阶系列 5

JavaScript 工程化:npm、Vite 与代码检查

从 package.json 字段与语义化版本讲起,覆盖 npm ci 与锁文件、npm scripts、npx、Vite 开发与构建、ESLint 与 Prettier 分工,以及环境变量与产物检查。

编程教程进阶系列 6

JavaScript 测试:用 Vitest 写单元测试

从零配置 Vitest:断言怎么选、异步代码与假计时器怎么测、vi.fn 与 vi.mock 的替身边界、覆盖率阈值,以及在 CI 里稳定执行。

JavaScript 实战教程

PHP 实战教程

PHP 进阶教程

Go 基础教程

编程教程入门系列 1

Go 环境搭建与第一个程序

从安装 Go 1.24 开始,讲清 GOPATH 与模块模式的区别、go mod init / run / build / fmt 的实际用法,并给出最小项目结构。

编程教程入门系列 2

Go 变量、类型与零值

讲清 var 与 := 的区别、Go 的零值机制、常量与 iota 的用法,以及数值转换、string 与 []byte、rune 之间的边界。

编程教程入门系列 3

Go 控制流:if、for、switch

说明 Go 为什么只有一种循环、if 的初始化语句怎么用、switch 的默认无穿透行为,以及 range 遍历切片、map 与字符串的区别。

编程教程入门系列 4

Go 函数与错误处理

讲解多返回值与命名返回值、error 接口的正确用法、fmt.Errorf 的 %w 包装与 errors.Is/As,以及 defer、panic 与 recover 的适用边界。

编程教程入门系列 5

Go Slice 和 Array 的区别

对比 Go 数组与切片的内存模型,说明长度与容量的关系、append 扩容规则,以及共享底层数组导致的隐蔽 bug。

编程教程入门系列 6

Go Map 与结构体

讲清 Go map 的声明、comma-ok 取值、删除与并发限制,以及结构体定义、字面量、字段导出规则与嵌入组合的用法。

编程教程入门系列 7

Go 指针、方法与值语义

解释 Go 指针的取地址与解引用、new 与 & 的区别,讲清值接收者与指针接收者的方法集规则,并给出何时该用指针的判断标准。

编程教程入门系列 8

Go 接口与组合

讲清 Go 接口的隐式实现、小接口原则、类型断言与类型 switch,说明 nil 接口与 nil 指针的区别,以及用组合替代继承的写法。

JavaScript 基础教程

编程教程入门系列 1

JavaScript 变量声明:var、let 与 const

对比 var、let、const 的作用域与提升行为,说明暂时性死区与引用绑定的区别,并梳理 JavaScript 的七种原始类型与 typeof 判断。

编程教程入门系列 2

JavaScript 运算符与类型转换

讲清 == 与 === 的差别、隐式转换规则、truthy 与 falsy 判断,以及 ||、??、可选链在取值兜底时的正确用法。

编程教程入门系列 3

JavaScript 条件判断与循环

讲解 if / switch 的写法差异、for、for...of、while 的适用场景,以及遍历数组和对象时最容易犯的索引与中断错误。

编程教程入门系列 4

JavaScript 函数与作用域

对比函数声明、函数表达式与箭头函数,说明参数默认值与剩余参数,讲清作用域链、闭包与 var 在循环中的经典陷阱。

编程教程入门系列 5

JavaScript 数组常用方法

按「是否改变原数组」梳理 map、filter、reduce、find、some、sort 等高频方法,配可运行示例与 flat、sort 的默认行为陷阱。

编程教程入门系列 6

JavaScript 对象与解构

讲解对象字面量、属性访问与遍历,说明解构赋值、展开运算符与浅拷贝的关系,以及对象引用带来的修改共享问题。

编程教程入门系列 7

JavaScript 字符串与模板字符串

整理字符串常用方法与模板字符串的写法,说明字符串不可变性、slice 与 substring 的区别,以及 replace 与 replaceAll 的匹配规则。

编程教程入门系列 8

JavaScript 错误处理

讲解 Error 对象的结构与自定义错误,说明 try / catch / finally 的执行顺序、throw 的正确用法,以及异步场景下的错误捕获方式。

PHP 基础教程

编程教程入门系列 1

PHP 变量与数据类型

讲解 PHP 变量的写法与作用域、标量类型与数组的类型判断,说明松散比较的陷阱以及 declare(strict_types=1) 的作用。

编程教程入门系列 2

PHP 字符串与数组

整理 PHP 字符串处理与数组操作的高频函数,说明索引数组与关联数组的遍历方式,以及 array_map、array_filter 与数组合并的规则。

编程教程入门系列 3

PHP 条件判断与循环

讲解 if / match / switch 的选择,for、foreach、while 的适用场景,以及模板中使用的替代语法与循环中修改数组的注意事项。

编程教程入门系列 4

PHP 函数与作用域

讲解函数定义与类型声明、参数默认值与可变参数,说明返回值类型、变量作用域与 static 变量,以及匿名函数和箭头函数的用法。

编程教程入门系列 5

PHP 表单与请求处理

讲解 $_GET 与 $_POST 的使用场景、请求方法判断、输入过滤与输出转义,说明如何避免 XSS 与把表单数据写回页面的正确方式。

编程教程入门系列 6

PHP 文件读写

讲解 file_get_contents 与 file_put_contents 的用法、逐行读取大文件的方式、目录遍历与路径处理,以及文件锁与权限相关的注意事项。

编程教程入门系列 7

PHP 错误与异常处理

区分 PHP 的错误等级与异常体系,讲解 try / catch / finally、自定义异常与全局处理器,以及生产环境隐藏错误细节的配置方式。

编程教程入门系列 8

PHP 会话与 Cookie

讲解 session 的启动与读写、Cookie 的设置参数与安全选项,说明两者的适用场景、登录态管理的基本做法与常见的会话安全隐患。

单篇教程

编程教程进阶系列 1

Python 推导式与迭代工具

系统讲解列表、字典、集合推导式与生成器表达式,以及 enumerate、zip、sorted、itertools 等把循环写短的迭代工具。

编程教程进阶系列 2

Python 模块、包与虚拟环境

讲清 import 的几种写法、包与相对导入、__main__ 入口的作用,以及用 venv + pip 隔离依赖、固化 requirements 的完整流程。

编程教程进阶系列 3

Python 类与面向对象基础

讲解类的定义、实例与类属性的区别、@property、继承与 super,以及 __repr__、__eq__ 等常用魔术方法的写法与用途。

编程教程进阶系列 4

Python dataclass 与类型注解

介绍类型注解语法与 mypy 检查,讲解 @dataclass 自动生成的方法、default_factory、frozen 与 slots,以及和 NamedTuple 的选择。

编程教程进阶系列 5

Python 迭代器与生成器

区分可迭代对象与迭代器,讲清 yield 的执行流程、生成器管道处理大文件、yield from 与 send,以及生成器只能用一次的注意事项。

编程教程进阶系列 6

Python 常用标准库:datetime、collections 与 json

按使用场景介绍 datetime 的时间计算与格式化、collections 的 Counter / defaultdict / deque,以及环境变量与命令行参数等高频标准库用法。

编程教程进阶系列 7

Python 正则表达式入门

讲解 re 模块的 search、match、findall、finditer、sub 用法,常用元字符与分组、贪婪与非贪婪匹配,以及正则最容易踩的坑。

单篇教程

Python 基础教程

编程教程入门系列 1

Python 变量和数据类型

讲解 Python 变量的绑定机制与内置数据类型,说明可变与不可变类型的区别,以及初学阶段最容易踩的几个坑。

编程教程入门系列 2

Python 条件判断与循环

讲清 if / elif / else 的真值判断规则、for 与 while 的用法、break / continue / else 子句,以及遍历时最常见的错误。

编程教程入门系列 3

Python 字符串处理与格式化

覆盖字符串创建、索引切片、split / join / strip 等常用方法、f-string 格式化语法,以及 str 与 bytes 的编码区别。

编程教程入门系列 4

Python 列表和字典常用操作

整理 list 与 dict 的高频操作,包括切片、遍历、深浅拷贝与循环内修改的陷阱,配可运行示例。

编程教程入门系列 5

Python 元组、集合与不可变性

对比 list / tuple / set / dict 的适用场景:元组的打包解包与可哈希性、集合的去重与集合运算,以及不可变性的实际含义。

编程教程入门系列 6

Python 函数与参数传递

讲解函数定义、位置与关键字参数、默认值的可变对象陷阱、*args 与 **kwargs,以及作用域规则。

编程教程入门系列 7

Python 文件读写与路径处理

讲解 open 与 with 的正确用法、文本与 JSON / CSV 读写、pathlib 处理路径与遍历目录,以及编码与换行相关的常见错误。

编程教程入门系列 8

Python 异常处理与自定义异常

讲解 try / except / else / finally 的执行顺序、捕获具体异常的写法、raise from 保留异常链,以及自定义异常与常见反模式。

单篇教程