ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
rust结构体可以是泛型的,意味着它们的定义只是个模板,等你填充类型进去。 泛型参数列表写在结构体名称后面的尖括号里,实际上向量就是一个泛型结构体。 在impl块中,结构体的泛型参数列表写在impl关键字后面和结构体名称后面,用尖括号包住(为什么2个地方都要写??),这样你就可以在impl块里把泛型类型当做正常的类型用了。 在impl块里,不管结构体是不是泛型结构体,都可以用Self来表示结构体类型本身。方法内部是否可以用Self来写结构体表达式??在构造方法里的结构体表达式里可以不加泛型参数,因为返回值是只有一个泛型参数的结构体,rust可以推断它。然而在方法签名和类型定义的时候不能省略,rust不在方法签名和类型定义上做类型推断,函数体内部的类型推断是基于方法签名的,方法签名上必须显式地写出泛型参数。 静态方法调用你可以在结构体后面加::提供泛型参数,实践中经常让rust自己推断。 不仅结构体可以是泛型的,枚举也可以是泛型的,和结构体相似的语法。