结构类型 Structural typing

主要根据值拥有的成员判断兼容性,而不是依赖显式声明的类型身份。