学习所用，乐意分享，请勿修改