V1.0正式版，函数已经封装，并且加上了详细的注释