В чем разница между `any` и`var` у балерины
Я пытаюсь сделать
var myVar = "my var";
match myVar {
string s => { io:println("string"); }
any k => { io:println("any var"); }
}
Кажется, это не правильно. В чем разница между var
а также any
, Я думаю, когда я использую var
под балериной создает any
? правильный?
2 ответа
"любой" - это тип, который обозначает все значения, с которыми может работать программа Ballerina.
any myVal = "this is a string value";
// Unsafe type cast, hence the union type.
string | error myStr = <string> myVal;
// Following is also valid based on the definition of the "any" type.
any myVal = 10;
"var" - это способ объявления переменной, тип которой выводится из выражения в правой части. Как только тип переменной получен, вы можете назначать значения только этого типа.
// This is equivalent to 'string a = "this is a string value";'
var a = "this is a string value";
// Now the following will result in a compilation failure.
a = 10;
Думаю, я нашел ответ на свой вопрос.
"Тип" var ", тип выводится с правой стороны, определяется путем рассмотрения статического типа с правой стороны. При этом тип" any "представляет все типы вместе".
Мой плохой не читать документы:(