Clojure Case 聲明

2018-12-20 14:38 更新

Clojure提供了類似于Java編程語(yǔ)言中可用的“switch”語(yǔ)句的“case”語(yǔ)句。 下面是case語(yǔ)句的一般形式。

語(yǔ)法

case expression
value1 statement #1
value2 statement #2
valueN statement #N
statement #Default

Case聲明一般在以下幾種情況下使用:

  • 要評(píng)估的表達(dá)式放在“case”語(yǔ)句中。 這通常將求值為一個(gè)值,該值在隨后的語(yǔ)句中使用。

  • 每個(gè)值都是根據(jù)'case'表達(dá)式傳遞的值來(lái)計(jì)算的。 根據(jù)哪個(gè)值成立,將執(zhí)行后續(xù)語(yǔ)句。

  • 還有一個(gè)默認(rèn)語(yǔ)句,如果前面的值都不為真,則執(zhí)行該語(yǔ)句。

下圖顯示了“if”語(yǔ)句的流程:

Case Statement

以下是Clojure中的'case'語(yǔ)句的示例:

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   (def x 5) 
   (case x 5 (println "x is 5")
      10 (println "x is 10")
      (println "x is neither 5 nor 10")))
(Example)

在上面的例子中,我們首先將一個(gè)變量'x'初始化為一個(gè)值5.然后我們有一個(gè)'case'語(yǔ)句來(lái)評(píng)估變量'x'的值。 基于變量的值,它將執(zhí)行相關(guān)語(yǔ)句集的語(yǔ)句。 如果沒(méi)有執(zhí)行前面的語(yǔ)句,則最后一個(gè)語(yǔ)句是默認(rèn)語(yǔ)句。

輸出:

以上示例將輸出以下結(jié)果:

x is 5
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)