当前位置: 首页 > 文档资料 > Elixir 中文教程 >

case

优质
小牛编辑
121浏览
2023-12-01

Case语句可以被视为命令式语言中switch语句的替代。 Case采用变量/文字并使用不同的情况对其应用模式匹配。 如果任何情况匹配,Elixir将执行与该案例相关联的代码并退出case语句。 如果未找到匹配项,它将使用CaseClauseError退出语句,该CaseClauseError显示no matching clauses were found 。 您应始终使用_匹配所有值的大小写。 这有助于防止上述错误。 这也与switch-case语句中的default情况相当。

语法 (Syntax)

if语句的语法如下 -

case value do
   matcher_1 -> #code to execute if value matches matcher_1
	matcher_1 -> #code to execute if value matches matcher_2
	matcher_1 -> #code to execute if value matches matcher_3
	...
	_ -> #code to execute if value does not match any of the above
end

例子 (Example)

case 3 do
   1 -> IO.puts("Hi, I'm one")
   2 -> IO.puts("Hi, I'm two")
   3 -> IO.puts("Hi, I'm three")
   _ -> IO.puts("Oops, you dont match!")
end

上述程序生成以下结果。

Hi, I'm three

请注意,案例选择是使用模式匹配完成的,因此您可以使用标准模式匹配技术。