sub和function的区别