Как сделать проверку типа у балерины - PullRequest
0 голосов
/ 10 мая 2018

Я пытался if(string? myStr), но это дает синтаксическую ошибку в редакторе. Как я могу проверить тип в Балерина?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Здесь вы можете использовать оператор switch (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");}
    }
}

Пожалуйста, обратитесь к следующему примеру для получения дополнительной информации. https://ballerina.io/learn/by-example/match.html

0 голосов
/ 11 мая 2018

Какой ваш вариант использования для проверки типа?

В соответствии с типами и значениями спецификаций определяется автоматически на основе их структуры

Система типов балерины гораздо более гибкая, чем традиционная статически типизированные языки. Во-первых, это структурно: вместо требуя от программы явного указания, какие типы совместимы друг с другом определяется совместимость типов и значений автоматически на основе их структуры; это особенно полезно в сценарии интеграции, которые объединяют данные из нескольких, самостоятельно разработанные системы. Во-вторых, он предоставляет типы объединений: выбор из двух или более типов. В-третьих, он предоставляет открытые записи: записи которые могут содержать поля в дополнение к тем, которые явно указаны в его определение типа. Эта гибкость позволяет использовать его как схема для данных, которыми обмениваются в распределенных приложениях. Типы данных Ballerina специально разработаны для работы с JSON; любое значение JSON имеет прямое, естественное представление в виде Балерина значение. Балерина также обеспечивает поддержку XML и реляционные данные.

...