自己学习时产生的代码