Le istruzioni if
e for
servono rispettivamente ad eseguire del codice in base ad una condizione ed ad iterare su uno slice, ossia una sequenza di elementi dello stesso tipo.
L'istruzione if
esegue il codice al suo interno se la condizione è vera. Ad esempio la seguente istruzione:
{% if stock > 10 %}
Disponibilità ampia
{% end %}
Disponibilità ampia
visualizza "Disponibilità ampia" solo se la quantità in magazzino è maggiore di 10.
La condizione dell'istruzione {% if condizione %}
può avere un qualsiasi tipo. Questa è differente dalla condizione dell'istruzione if
del linguaggio Go che può essere solo booleana.
Se si vuole eseguire una parte di codice oppure un'altra in base ad una condizione, si può scrivere:
{% if stock > 10 %}
Disponibilità ampia
{% else %}
Disponibilità scarsa
{% end %}
Disponibilità ampia
Scriggo supporta anche la forma else if
:
{% if stock > 10 %}
Disponibilità ampia
{% else if stock > 0 %}
Disponibilità scarsa
{% else %}
Non disponibile
{% end %}
Disponibilità ampia
L'istruzione for
consente di iterare su uno slice (essenzialmente una sequenza di elementi dello stesso tipo) assegnando di volta in volta un elemento dello slice ad una variabile.
Ad esempio se la variabile products
è uno slice di Product
, il seguente esempio mostra i nomi di tutti i prodotti che contiene:
{% for product in products %}
<div>{{ product.Name }}</div>
{% end %}
La variabile product
è implicitamente dichiarata e ha lo stesso tipo degli elementi di products
. Inoltre è visibile solo all'interno dell'istruzione for
.
L'istruzione for in
è una delle diverse forme dell'istruzione for ed è l'unica non presente nel linguaggio Go.