1. 分离in、out，支持编译期误用错误提示