采用专用命名空间的方式来避免函数名冲突