for源码原理