1. 静态类型检查,编译阶段即可发现类型不匹配的错误
    2. ide自动补全/检查
    3. 有利于编译器做优化
    4. 利于重构