Поток управления / Условные операторы / Операторы if/else

(def latitude 0)

;; this reads like two statements under one if — and it is not:
;; if takes exactly ONE form for "then" and ONE for "else"
(if (= latitude 0)
  (println "at the Equator")
  (println "measuring the latitude")) ; <- this is the ELSE branch!
;; printed only: at the Equator

;; one more form is not a silent surprise but a hard error:
;; (if (= latitude 0)
;;   (println "at the Equator")
;;   (println "measuring")
;;   (println "done"))  ; <- Error "Too many arguments to if"

;; to run several forms in one branch, wrap them in do
(if (= latitude 0)
  (do (println "at the Equator")
      (println "latitude is" latitude))
  (println "somewhere else"))