不灭的焱

加密类型:SHA/AES/RSA下载Go
复合类型:切片(slice)、映射(map)、指针(pointer)、函数(function)、通道(channel)、接口(interface)、数组(array)、结构体(struct) Go类型+零值nil
引用类型:切片(slice)、映射(map)、指针(pointer)、函数(function)、通道(channel) Go引用

作者:AlbertWen  添加时间:2025-12-01 00:43:01  修改时间:2025-12-01 04:18:57  分类:02.Go语言编程  编辑
  • 使用 Trie 树实现动态路由(dynamic route)解析。
  • 支持两种模式:name*filepath代码约150行
作者:AlbertWen  添加时间:2025-12-01 00:16:46  修改时间:2025-12-01 04:19:05  分类:02.Go语言编程  编辑
  • 路由(router)独立出来,方便之后增强。
  • 设计上下文(Context),封装 Request 和 Response ,提供对 JSON、HTML 等返回类型的支持。
  • 动手写 Gee 框架的第二天,框架代码140行,新增代码约90行
作者:AlbertWen  添加时间:2025-11-30 23:19:49  修改时间:2025-12-01 04:19:02  分类:02.Go语言编程  编辑
  • 简单介绍net/http库以及http.Handler接口。
  • 搭建Gee框架的雏形,代码约50行
作者:AlbertWen  添加时间:2025-11-30 22:52:36  修改时间:2025-12-01 04:18:58  分类:02.Go语言编程  编辑

大部分时候,我们需要实现一个 Web 应用,第一反应是应该使用哪个框架。不同的框架设计理念和提供的功能有很大的差别。比如 Python 语言的 djangoflask,前者大而全,后者小而美。Go语言/golang 也是如此,新框架层出不穷,比如BeegoGinIris等。那为什么不直接使用标准库,而必须使用框架呢?在设计一个框架之前,我们需要回答框架核心为我们解决了什么问题。只有理解了这一点,才能想明白我们需要在框架中实现什么功能。

作者:AlbertWen  添加时间:2025-11-26 15:05:23  修改时间:2025-11-30 23:27:32  分类:02.Go语言编程  编辑

核心原理:Go 的方法接收器「值 / 指针」自动转换

Go 语言对方法调用做了语法糖优化:调用方法时,无论接收器(Receiver)定义为值类型还是指针类型,Go 会自动完成「值→指针」或「指针→值」的转换(只要符合可寻址规则)。

作者:AlbertWen  添加时间:2025-11-26 00:57:46  修改时间:2025-11-30 23:27:09  分类:02.Go语言编程  编辑

mux 是 multiplexer(多路复用器)的缩写。

在 Go 的 ServeMux 中,其核心作用是将多个 HTTP 请求路径(及其对应的处理器)“多路复用”—— 接收客户端的 HTTP 请求后,根据请求的 URL 路径匹配到对应的处理器函数,实现一个服务器对多个请求路由的统一管理,就像 “交通枢纽” 一样分发请求。

作者:AlbertWen  添加时间:2025-11-25 17:19:15  修改时间:2025-12-01 01:24:59  分类:02.Go语言编程  编辑

Go 语言的 net/http 包是构建 HTTP 客户端和服务端的核心标准库,设计简洁且高性能,原生支持 HTTP/1.1、HTTP/2(需手动启用)、HTTPS,以及路由注册、中间件、Cookie 处理等核心能力。

作者:AlbertWen  添加时间:2025-11-25 15:54:02  修改时间:2025-11-28 10:35:07  分类:02.Go语言编程  编辑

在 Go 语言中,make() 和 new() 都是用于内存分配的内置函数,但它们的设计目标、适用类型、返回值和内存初始化行为有本质区别。下面从核心维度对比,并结合示例说明各自的使用场景。

作者:AlbertWen  添加时间:2025-11-25 12:25:41  修改时间:2025-11-30 23:27:44  分类:02.Go语言编程  编辑

当你在 struct 中定义字段时,到底该用 Entry(值)、*Entry(指针)、[]Entry(值切片)还是 []*Entry(指针切片)?

作者:AlbertWen  添加时间:2025-11-25 11:49:52  修改时间:2025-11-29 22:58:20  分类:02.Go语言编程  编辑

“在 Go 中,我应该使用 (s T) 还是 (s *T)?”

这恐怕是 Go 开发者(无论新手还是老手)最常问的问题之一。一个错误的选择可能导致代码功能出错、性能低下,或者引入难以察觉的并发 Bug。