func foo(x):
match x:
{"key1": "value1", "key2": "value2"}:
print('{"key1": "value1", "key2": "value2"}')
{"key1": "value1", "key2"}:
print('{"key1": "value1", "key2"}')
{"key1", "key2": "value2"}:
print('{"key1", "key2": "value2"}')
{"key1", "key2"}:
print('{"key1", "key2"}')
{"key1": "value1"}:
print('{"key1": "value1"}')
{"key1"}:
print('{"key1"}')
_:
print("wildcard")
func bar(x):
match x:
{0}:
print("0")
{1}:
print("1")
{2}:
print("2")
_:
print("wildcard")
func baz(x):
match x:
{
"key1": "value1"
}:
print('multiline {"key1": "value1"}')
{
"key2": "value2",
}:
print('multiline {"key2": "value2",}')
{
"key3": {
"key1",
..,
},
}:
print('multiline {"key3": {"key1", ..,},}')
func test():
foo({"key1": "value1", "key2": "value2"})
foo({"key1": "value1", "key2": ""})
foo({"key1": "", "key2": "value2"})
foo({"key1": "", "key2": ""})
foo({"key1": "value1"})
foo({"key1": ""})
foo({"key1": "value1", "key2": "value2", "key3": "value3"})
foo({"key1": "value1", "key3": ""})
foo({"key2": "value2"})
foo({"key3": ""})
bar({0: "0"})
bar({1: "1"})
bar({2: "2"})
bar({3: "3"})
baz({"key1": "value1"})
baz({"key2": "value2"})
baz({"key3": {"key1": "value1", "key2": "value2"}})