`my_func<T: MyTrait>` 与 `my_func<T> 之间的区别,其中 T: MyTrait`
Difference between `my_func<T: MyTrait>` vs `my_func<T> where T: MyTrait`
有什么区别
my_func<T: MyTrait>(...) {...}
和
my_func<T>(...) where T: MyTrait {...}
?
一个写有明确的 where
子句,另一个没有。
好的,好的;如果你想挑剔的话,区别是:
- 不能使用
where
子句引入泛型参数。
- 除了泛型参数列表中的泛型参数,您不能约束任何其他。
但就将约束从通用参数列表移至 where
子句时发生的变化而言,它们是相同的。
有什么区别
my_func<T: MyTrait>(...) {...}
和
my_func<T>(...) where T: MyTrait {...}
?
一个写有明确的 where
子句,另一个没有。
好的,好的;如果你想挑剔的话,区别是:
- 不能使用
where
子句引入泛型参数。 - 除了泛型参数列表中的泛型参数,您不能约束任何其他。
但就将约束从通用参数列表移至 where
子句时发生的变化而言,它们是相同的。