Ballerina 中箭头 -> 运算符的作用是什么?

What does the arrow -> operator do in Ballerina?

我是这门语言的新手,几个月后才重新开始使用它,并且有一个相对基本的问题。我对其中的箭头 -> 运算符有些困惑。在 Learn Ballerina By Example 下的示例中,基本 Hello World Main 使用以下代码进行描述:

import ballerina/io;

public function main() {
    io:println("Hello, World!");
}

而在Hello Word Service例子中,代码如下:

import ballerina/http;
import ballerina/log;

service hello on new http:Listener(9090) {

    resource function sayHello(http:Caller caller, http:Request req) {

        var result = caller->respond("Hello, World!");

        if (result is error) {
            log:printError("Error sending response", result);
        }
    }
}

我的问题出在Hello Word Service行中的程序

var result = caller->respond("Hello, World!");

我来自 C/Python/Java 背景,箭头在每种语言中的含义不同。它在 Ballerina 中的具体作用是什么?我试图寻找语法文档,但没有找到。对特定页面的任何 link 也会有所帮助。

提前致谢。

Ballerina 中的 -> 运算符表示远程交互。根据语言规范:

A remote-method-call-action is depicted as a horizontal arrow from the worker lifeline to the client object lifeline.

remote-method-call-action := expression -> method-name ( arg-list )

有关详细信息,请参阅下面语言规范的 "Remote interaction" 部分。

https://ballerina.io/spec/lang/2019R3/#section_7.9