Open2b versione 7.5

If e for

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.

if

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.

Attenzione

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

for

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.