Ballerina 我如何在芭蕾舞演员身上进行体格检查
我尝试了Ballerina 我如何在芭蕾舞演员身上进行体格检查,ballerina,Ballerina,我尝试了if(string?myStr),但是编辑器中出现了语法错误。如何在Ballerina中进行类型检查?检查类型的用例是什么 根据等级库,类型和值根据其结构自动确定 芭蕾舞演员的类型系统比传统的更灵活 静态类型语言。首先,它是结构性的:而不是结构性的 要求程序明确说明哪些类型是兼容的 相互之间,类型和值的兼容性是确定的 自动基于其结构;这在某些情况下特别有用 将来自多个应用程序的数据组合在一起的集成场景, 独立设计的系统。其次,它提供了联合类型:a 两种或更多类型的选择。第三,它提供开放记
if(string?myStr)
,但是编辑器中出现了语法错误。如何在Ballerina中进行类型检查?检查类型的用例是什么
根据等级库,类型和值根据其结构自动确定
芭蕾舞演员的类型系统比传统的更灵活
静态类型语言。首先,它是结构性的:而不是结构性的
要求程序明确说明哪些类型是兼容的
相互之间,类型和值的兼容性是确定的
自动基于其结构;这在某些情况下特别有用
将来自多个应用程序的数据组合在一起的集成场景,
独立设计的系统。其次,它提供了联合类型:a
两种或更多类型的选择。第三,它提供开放记录:记录
除了在其
类型定义。这种灵活性使它也可以用作
分布式应用程序中交换的数据的架构。
Ballerina的数据类型被设计为与
JSON;任何JSON值都有一个直接、自然的表示形式作为
芭蕾舞演员的价值观。Ballerina还提供对XML和XML的支持
关系数据
您可以在此处使用类型开关(match)语句或match语句的表达式版本。这里有一个例子
import ballerina/io;
function main (string... args) {
any a = "some string value";
// If the type of the variable a is string executes the first block, if not the second block.
match a {
string s => { io:println("string type");}
any k => {io:println("any other type");}
}
}
有关更多信息,请参考以下示例。
我确信这可能是一个次优答案(即没有涵盖所有方面),但我发现在Ballerina 1.0(实现语言规范2019R3)中,可以使用类型测试表达式 我找到的最好的文档是:
$ ballerina run test.bal
typeof a: typedesc int
a is int
typeof b: typedesc string
b is string
您可以使用类型guard语句 例如:
请包括
myStr
的来源和确切的错误消息(作为文本,而不是屏幕截图)。此示例不使用Ballerina 1.0编译。我假设这个特性是1.0之前的版本,在Ballerina 1.0中不存在。Ballerina 1.0实现了类型测试表达式。
$ ballerina run test.bal
typeof a: typedesc int
a is int
typeof b: typedesc string
b is string
if (myStr is string) {
io:println("This is String");
} else {
io:println("This isn't String");
}