Go语言的'大道至简':从Session源码说起
· 11 min read
看了一下Go的Session源码——这就是我们的"大道至简"啊(笑)。
Go框架源码的可读性
觉得Go有一点是好的:由于框架很简陋,所以源码可读性非常高,能够让人对框架在做什么有稍微深一点的印象(因为不做的要自己手做了)。
对比一下:
- 比Go核心语法更简单的C,底层全是编译器特化的东西和直接对应汇编的hack
- 比Go核心语法复杂得多的其他语言(C++、Java、Python等),源码里面都大量使用黑魔法,又或者就是套了N层抽象
怪不得Go Web的文档写这么少——鉴定为"具体请看源码"是吧。Go是这样的,只有库没有真正意义的框架。框架只需要轮椅就好了,调库要想的可就多了。
Session的实现原理
以gorilla/sessions为例,看看Session在Go中是怎么实现的。