返回介绍

case

发布于 2021-05-25 13:29:46 字数 941 浏览 1090 评论 0 收藏 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文