 Rust 程序设计语言简体中文版你可以将编程中的信道想象为一个水流的渠道,比如河流或小溪。如果你将诸如橡皮鸭或小船 之类的东西放入其中,它们会顺流而下到达下游。 编程中的信息渠道(信道)有两部分组成,一个发送者(transmitter)和一个接收者 (receiver)。发送者位于上游位置,在这里可以将橡皮鸭放入河中,接收者则位于下游,橡皮 鸭最终会漂流至此。代码中的一部分调用发送者的方法以及希望发送的数据,另一部分则检查 接收端收到的消息。当发送者或接收者任一被丢弃时可以认为信道被 mpsc::channel 函数返回一个元组:第一个元素是发送端 – 发送者,而第二个元素是接收端 – 接收者。由于历史原因,tx 和 rx 通常作为 发送者(transmitter)和 接收者(receiver)的 421/600 Rust 程序设计语言 简体中文版 缩写,所以这就是我们将用来绑定这两端变量的名字。这里使用了一个 let 语句和模式来解 构了此元组;第十八章会讨论 let 语句中的模式和解构。现在只需知道使用 通常,完全限定语法定义为: 502/600 Rust 程序设计语言 简体中文版 Rust 程序设计语言简体中文版你可以将编程中的信道想象为一个水流的渠道,比如河流或小溪。如果你将诸如橡皮鸭或小船 之类的东西放入其中,它们会顺流而下到达下游。 编程中的信息渠道(信道)有两部分组成,一个发送者(transmitter)和一个接收者 (receiver)。发送者位于上游位置,在这里可以将橡皮鸭放入河中,接收者则位于下游,橡皮 鸭最终会漂流至此。代码中的一部分调用发送者的方法以及希望发送的数据,另一部分则检查 接收端收到的消息。当发送者或接收者任一被丢弃时可以认为信道被 mpsc::channel 函数返回一个元组:第一个元素是发送端 – 发送者,而第二个元素是接收端 – 接收者。由于历史原因,tx 和 rx 通常作为 发送者(transmitter)和 接收者(receiver)的 421/600 Rust 程序设计语言 简体中文版 缩写,所以这就是我们将用来绑定这两端变量的名字。这里使用了一个 let 语句和模式来解 构了此元组;第十八章会讨论 let 语句中的模式和解构。现在只需知道使用 通常,完全限定语法定义为: 502/600 Rust 程序设计语言 简体中文版- ::function(receiver_if_method, next_arg, ...); 对于不是方法的关联函数,其没有一个 receiver ,故只会有其他参数的列表。可以选择在任 何函数或方法调用处使用完全限定语法。然而,允许省略任何 Rust 能够从程序中的其他信息 中计算出的部分。只有当存在多个同名实现而 0 码力 | 600 页 | 12.99 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412允许您将函数与新类型相关联。您可以使用“impl”块来执行此操作: struct Race { name: String, laps: Vec Comprehensive Rust(简体中文) 202412允许您将函数与新类型相关联。您可以使用“impl”块来执行此操作: struct Race { name: String, laps: Vec- , } impl Race { // No receiver, a static method fn new(name: &str) -> Self { Self { name: String::from(name), laps: Vec::new() add_lap(71); race.print_laps(); race.finish(); // race.add_lap(42); } The self arguments specify the ”receiver” - the object the method acts on. There are several common receivers for a method: • “&self”:使 run finish twice. – Beyond variants on self, there are also special wrapper types allowed to be receiver types, such as Box - . 13.2 特征(Trait) Rust 让您可以依据特征对类型进行抽象化处理。特征与接口类似: trait Pet { /// Return 0 码力 | 359 页 | 1.33 MB | 10 月前3
 Go基础语法宝典2、绝对路径 特殊的import 1、点操作 2、别名操作 3、_操作 struct类型 struct类型的声明 struct 的匿名字段 method method 指针作为receiver method继承 method重写 interface 什么是interface interface类型 interface值 空interface interface函数参数 的,就像长方形的长和宽一样。 基于上面的原因所以就有了 method 的概念, method 是附属在一个给定的类型上的,他的语法和函数的 声明语法几乎一样,只是在 func 后面增加了一个receiver(也就是method所依从的主体)。 用上面提到的形状的例子来说,method area() 是依赖于某个形状(比如说Rectangle)来发生作用的。 Rectangle.area()的发出者是Rectangle, Rectangle。 用Rob Pike的话来说就是: "A method is a function with an implicit first argument, called a receiver." method的语法如下: 下面用最开始的例子用method来实现: 在使用method的时候重要注意几点 虽然method的名字一模一样,但是如果接收者不一样,那么method就不一样0 码力 | 47 页 | 1020.34 KB | 1 年前3 Go基础语法宝典2、绝对路径 特殊的import 1、点操作 2、别名操作 3、_操作 struct类型 struct类型的声明 struct 的匿名字段 method method 指针作为receiver method继承 method重写 interface 什么是interface interface类型 interface值 空interface interface函数参数 的,就像长方形的长和宽一样。 基于上面的原因所以就有了 method 的概念, method 是附属在一个给定的类型上的,他的语法和函数的 声明语法几乎一样,只是在 func 后面增加了一个receiver(也就是method所依从的主体)。 用上面提到的形状的例子来说,method area() 是依赖于某个形状(比如说Rectangle)来发生作用的。 Rectangle.area()的发出者是Rectangle, Rectangle。 用Rob Pike的话来说就是: "A method is a function with an implicit first argument, called a receiver." method的语法如下: 下面用最开始的例子用method来实现: 在使用method的时候重要注意几点 虽然method的名字一模一样,但是如果接收者不一样,那么method就不一样0 码力 | 47 页 | 1020.34 KB | 1 年前3
 OpenShift Container Platform 4.10 监控AlertmanagerReceiverNotConfigured 警报中选择 Configure。 2. 在该页面的 Receivers 部分中选择 Create Receiver。 3. 在 Create Receiver 表单中,添加 Receiver Name,然后从列表中选择 Receiver Type。 4. 编辑接收器配置: 对于 PagerDuty 接收器: a. 选择集成类型并添加 PagerDuty 集成密钥。 com/v1alpha1 kind: AlertmanagerConfig metadata: name: example-routing namespace: ns1 spec: route: receiver: default groupBy: [job] receivers: - name: default webhookConfigs: - url: https://example group_interval: 5m 2 repeat_interval: 12h 3 receiver: default routes: - matchers: - "alertname=Watchdog" repeat_interval: 2m receiver: watchdog - matchers: - "service= OpenShift Container Platform 4.10 监控AlertmanagerReceiverNotConfigured 警报中选择 Configure。 2. 在该页面的 Receivers 部分中选择 Create Receiver。 3. 在 Create Receiver 表单中,添加 Receiver Name,然后从列表中选择 Receiver Type。 4. 编辑接收器配置: 对于 PagerDuty 接收器: a. 选择集成类型并添加 PagerDuty 集成密钥。 com/v1alpha1 kind: AlertmanagerConfig metadata: name: example-routing namespace: ns1 spec: route: receiver: default groupBy: [job] receivers: - name: default webhookConfigs: - url: https://example group_interval: 5m 2 repeat_interval: 12h 3 receiver: default routes: - matchers: - "alertname=Watchdog" repeat_interval: 2m receiver: watchdog - matchers: - "service=- " 0 码力 | 135 页 | 1.58 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0你可以将编程中的信道想象为一个水流的渠道,比如河流或小溪。如果你将诸如橡皮鸭之类的 东西放入其中,它们会顺流而下到达下游。 信道有两个组成部分:一个发送端(transmitter)和一个接收端(receiver)。发送端位于上 游位置,在这里可以将橡皮鸭放入河中,接收端则位于下游,橡皮鸭最终会漂流至此。代码中 的一部分调用发送端的方法以及希望发送的数据,另一部分则检查接收端收到的消息。当发送 端或接 mpsc::channel 函数返回一个元组:第一个元素是发送侧 – 发送端,而第二个元素是接收侧 – 接收端。由于历史原因,tx 和 rx 通常作为发送端(transmitter)和 接收端(receiver)的传 统缩写,所以这就是我们将用来绑定这两端变量的名字。这里使用了一个 let 语句和模式来解 构了此元组;第十九章会讨论 let 语句中的模式和解构。现在只需知道使用 let 语句是一个 方便提取 可以发送端向接收端发送消息了。注意我们无需产生一个独立的线程或者任务;只需等待 (await) rx.recv 调用。 std::mpsc::channel 中的同步 Receiver::recv 方法阻塞执行直到它接收一个消息。 trpl::Receiver::recv 则不会阻塞,因为它是异步的。不同于阻塞,它将控制权交还给运行 时,直到接收到一个消息或者信道的发送端关闭。相比之下,我们不用 await send,因为它不0 码力 | 562 页 | 3.23 MB | 25 天前3 Rust 程序设计语言 简体中文版 1.85.0你可以将编程中的信道想象为一个水流的渠道,比如河流或小溪。如果你将诸如橡皮鸭之类的 东西放入其中,它们会顺流而下到达下游。 信道有两个组成部分:一个发送端(transmitter)和一个接收端(receiver)。发送端位于上 游位置,在这里可以将橡皮鸭放入河中,接收端则位于下游,橡皮鸭最终会漂流至此。代码中 的一部分调用发送端的方法以及希望发送的数据,另一部分则检查接收端收到的消息。当发送 端或接 mpsc::channel 函数返回一个元组:第一个元素是发送侧 – 发送端,而第二个元素是接收侧 – 接收端。由于历史原因,tx 和 rx 通常作为发送端(transmitter)和 接收端(receiver)的传 统缩写,所以这就是我们将用来绑定这两端变量的名字。这里使用了一个 let 语句和模式来解 构了此元组;第十九章会讨论 let 语句中的模式和解构。现在只需知道使用 let 语句是一个 方便提取 可以发送端向接收端发送消息了。注意我们无需产生一个独立的线程或者任务;只需等待 (await) rx.recv 调用。 std::mpsc::channel 中的同步 Receiver::recv 方法阻塞执行直到它接收一个消息。 trpl::Receiver::recv 则不会阻塞,因为它是异步的。不同于阻塞,它将控制权交还给运行 时,直到接收到一个消息或者信道的发送端关闭。相比之下,我们不用 await send,因为它不0 码力 | 562 页 | 3.23 MB | 25 天前3
 阮一峰 《ECMAScript 6入门》 第三版get: function (target, key, receiver) { console.log(`getting ${key}!`); return Reflect.get(target, key, receiver); }, set: function (target, key, value, receiver) { console.log(`setting log(`setting ${key}!`); return Reflect.set(target, key, value, receiver); } }); 上面代码对一个空对象架设了一层拦截,重定义了属性的读取( get )和设置 ( set )行为。这里暂时先不解释具体的语法,只看运行结果。对设置了拦截行 为的对象 obj ,去读写它的属性,就会得到下面的结果。 obj.count 产生结果。 (1)get(target, propKey, receiver) 拦截对象属性的读取,比如 proxy.foo 和 proxy['foo'] 。 最后一个参数 receiver 是一个对象,可选,参见下面 Reflect.get 的部分。 (2)set(target, propKey, value, receiver) Proxy 288 拦截对象属性的设置,比如 proxy0 码力 | 679 页 | 2.66 MB | 1 年前3 阮一峰 《ECMAScript 6入门》 第三版get: function (target, key, receiver) { console.log(`getting ${key}!`); return Reflect.get(target, key, receiver); }, set: function (target, key, value, receiver) { console.log(`setting log(`setting ${key}!`); return Reflect.set(target, key, value, receiver); } }); 上面代码对一个空对象架设了一层拦截,重定义了属性的读取( get )和设置 ( set )行为。这里暂时先不解释具体的语法,只看运行结果。对设置了拦截行 为的对象 obj ,去读写它的属性,就会得到下面的结果。 obj.count 产生结果。 (1)get(target, propKey, receiver) 拦截对象属性的读取,比如 proxy.foo 和 proxy['foo'] 。 最后一个参数 receiver 是一个对象,可选,参见下面 Reflect.get 的部分。 (2)set(target, propKey, value, receiver) Proxy 288 拦截对象属性的设置,比如 proxy0 码力 | 679 页 | 2.66 MB | 1 年前3
 Go 入门指南(The way to Go)D(分母)都是 int64 型整数。因为 Go 语言不支持运算符 重载,所以所有大数字类型都有像是 Add() 和 Mul() 这样的方法。它们作用于作为 receiver 的整数和 有理数,大多数情况下它们修改 receiver 并以 receiver 作为返回结果。因为没有必要创建 big.Int 类型 的临时变量来存放中间结果,所以这样的运算可通过内存链式存储。 示例 9.2 big.go: 在 Go 语言中,结构体就像是类的一种简化形式,那么面向对象程序员可能会问:类的方法在哪里呢?在 Go 中有一个概念,它和方法有着同样的名字,并且大体上意思相同:Go 方法是作用在接收者 (receiver)上的一个函数,接收者是某种类型的变量。因此方法是一种特殊类型的函数。 接收者类型可以是(几乎)任何类型,不仅仅是结构体类型:任何类型都可以有方法,甚至可以是函数类 型,可以是 int、bool、string int、bool、string 或数组的别名类型。但是接收者不能是一个接口类型(参考 第 11 章), 因为接口是一个抽象定义,但是方法却是具体实现;如果这样做会引发一个编译错误:invalid receiver type…。 最后接收者不能是一个指针类型,但是它可以是任何其他允许类型的指针。 一个类型加上它的方法等价于面向对象中的一个类。一个重要的区别是:在 Go 中,类型的代码和绑定在 它上面0 码力 | 380 页 | 2.97 MB | 1 年前3 Go 入门指南(The way to Go)D(分母)都是 int64 型整数。因为 Go 语言不支持运算符 重载,所以所有大数字类型都有像是 Add() 和 Mul() 这样的方法。它们作用于作为 receiver 的整数和 有理数,大多数情况下它们修改 receiver 并以 receiver 作为返回结果。因为没有必要创建 big.Int 类型 的临时变量来存放中间结果,所以这样的运算可通过内存链式存储。 示例 9.2 big.go: 在 Go 语言中,结构体就像是类的一种简化形式,那么面向对象程序员可能会问:类的方法在哪里呢?在 Go 中有一个概念,它和方法有着同样的名字,并且大体上意思相同:Go 方法是作用在接收者 (receiver)上的一个函数,接收者是某种类型的变量。因此方法是一种特殊类型的函数。 接收者类型可以是(几乎)任何类型,不仅仅是结构体类型:任何类型都可以有方法,甚至可以是函数类 型,可以是 int、bool、string int、bool、string 或数组的别名类型。但是接收者不能是一个接口类型(参考 第 11 章), 因为接口是一个抽象定义,但是方法却是具体实现;如果这样做会引发一个编译错误:invalid receiver type…。 最后接收者不能是一个指针类型,但是它可以是任何其他允许类型的指针。 一个类型加上它的方法等价于面向对象中的一个类。一个重要的区别是:在 Go 中,类型的代码和绑定在 它上面0 码力 | 380 页 | 2.97 MB | 1 年前3
 Greenplum 排序算法46 ● Motion的Receiver需要接收多个Sender的数据,虽然每个Sender的数据保证 有序,但Receiver端也需要保证数据全局有序。 Sorted Motion 1 4 7 8 2 3 6 9 1 4 2 3 Sender1 Sender2 Receiver1 47 ● 首先读取每个Sender的第一个元素,之后在Receiver端进行归并排序 Sorted0 码力 | 52 页 | 2.05 MB | 1 年前3 Greenplum 排序算法46 ● Motion的Receiver需要接收多个Sender的数据,虽然每个Sender的数据保证 有序,但Receiver端也需要保证数据全局有序。 Sorted Motion 1 4 7 8 2 3 6 9 1 4 2 3 Sender1 Sender2 Receiver1 47 ● 首先读取每个Sender的第一个元素,之后在Receiver端进行归并排序 Sorted0 码力 | 52 页 | 2.05 MB | 1 年前3
 Kotlin 1.9.10 官方文档 中文版
kotlin-allopen-compiler-plugin kotlin-lombok-compiler-plugin kotlin-noarg-compiler-plugin kotlin-sam-with-receiver-compiler-plugin kotlinx-serialization-compiler-plugin Every plugin has its -embeddable counterpart example. The kotlin-dsl plugin in Gradle 7.6 depends on the org.jetbrains.kotlin.plugin.sam.with.receiver:1.7.10 plugin, which depends on kotlin-gradle-plugin-api:1.7.10 . If you add the org.jetbrains implementation("org.jetbrains.kotlin:kotlin-sam-with- receiver:1.8.0") } } This constraint forces the org.jetbrains.kotlin:kotlin-sam-with- receiver:1.8.0 version to be used in the build classpath0 码力 | 3753 页 | 29.69 MB | 1 年前3 Kotlin 1.9.10 官方文档 中文版
kotlin-allopen-compiler-plugin kotlin-lombok-compiler-plugin kotlin-noarg-compiler-plugin kotlin-sam-with-receiver-compiler-plugin kotlinx-serialization-compiler-plugin Every plugin has its -embeddable counterpart example. The kotlin-dsl plugin in Gradle 7.6 depends on the org.jetbrains.kotlin.plugin.sam.with.receiver:1.7.10 plugin, which depends on kotlin-gradle-plugin-api:1.7.10 . If you add the org.jetbrains implementation("org.jetbrains.kotlin:kotlin-sam-with- receiver:1.8.0") } } This constraint forces the org.jetbrains.kotlin:kotlin-sam-with- receiver:1.8.0 version to be used in the build classpath0 码力 | 3753 页 | 29.69 MB | 1 年前3
 Go Web编程定的形状的,就像长 方形的长和宽一样。 基于上面的原因所以就有了method的概念,method是附属在一个给定的类型上的,他的语法和函数的声明语法几乎 一样,只是在func后面增加了一个receiver(也就是method所依从的主体)。 用上面提到的形状的例子来说,method area() 是依赖于某个形状(比如说Rectangle)来发生作用 的。Rectangle.area()的发出者是Rectangle, 这些字段和方法都属于Rectangle。 用Rob Pike的话来说就是: "A method is a function with an implicit first argument, called a receiver." method的语法如下: 66 func (r ReceiverType) funcName(parameters) (results) 下面我们用最开始的例子用method来实现: 分别属于Rectangle和Circle, 于是他们的 Receiver 就变成了Rectangle 和 Circle, 或 者说,这个area()方法 是由 Rectangle/Circle 发出的。 67 值得说明的一点是,图示中method用虚线标出,意思是此处方法的Receiver是以值传递,而非引用传递,是 的,Receiver还可以是指针, 两者的差别在于, 指针作为Receiver会对实例对象的内容发生操作0 码力 | 295 页 | 5.91 MB | 1 年前3 Go Web编程定的形状的,就像长 方形的长和宽一样。 基于上面的原因所以就有了method的概念,method是附属在一个给定的类型上的,他的语法和函数的声明语法几乎 一样,只是在func后面增加了一个receiver(也就是method所依从的主体)。 用上面提到的形状的例子来说,method area() 是依赖于某个形状(比如说Rectangle)来发生作用 的。Rectangle.area()的发出者是Rectangle, 这些字段和方法都属于Rectangle。 用Rob Pike的话来说就是: "A method is a function with an implicit first argument, called a receiver." method的语法如下: 66 func (r ReceiverType) funcName(parameters) (results) 下面我们用最开始的例子用method来实现: 分别属于Rectangle和Circle, 于是他们的 Receiver 就变成了Rectangle 和 Circle, 或 者说,这个area()方法 是由 Rectangle/Circle 发出的。 67 值得说明的一点是,图示中method用虚线标出,意思是此处方法的Receiver是以值传递,而非引用传递,是 的,Receiver还可以是指针, 两者的差别在于, 指针作为Receiver会对实例对象的内容发生操作0 码力 | 295 页 | 5.91 MB | 1 年前3
共 215 条
- 1
- 2
- 3
- 4
- 5
- 6
- 22














 
 