相关疑难解决方法(0)

`where`关键字的语法和语义是什么?

不幸的是,Rust的文档where非常缺乏.关键字仅出现在参考中的一个或两个不相关的示例中.

  1. where下面的代码会产生什么语义差异?有什么不同吗?哪种形式更受欢迎?

    fn double_a<T>(a:T) -> T where T:std::num::Int {
        a+a
    }
    
    fn double_b<T: std::num::Int>(a:T) -> T {
        a+a
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在CharEq特性的实现中,它似乎where被用作某种"选择器"来为匹配某种闭包类型的任何东西实现Trait.我对么?

有什么方法可以让我得到更好,更完整的图片where吗?(完整的使用和语法规范)

rust

20
推荐指数
1
解决办法
4691
查看次数

标签 统计

rust ×1