Open2b versione 7.1

Funzioni

Le seguenti sono le funzioni globali disponibili in tutte le pagine del template.

Oltre alle funzioni elencate, nei template sono disponibili anche le built-in di Go (con alcune eccezioni).

abbreviate

func abbreviate(s string, n int) string

Restituisce una versione abbreviata di s, lunga al massimo n caratteri.

abs

func abs(x int) int

Restituisce il valore assoluto di x.

assetURL

func assetURL(name string) string

Restituisce l'URL di un asset dato il nome name. Gli assents sono i file nella cartella del template come file CSS e le immagini. Se name non è valido, come ad esempio i file con estensione "html", ritorna una stringa vuota.

Esempi

<img src="{{ assetURL(`/images/picture.png`) }}">
<img src="https://cdn.shop.com/images/picture.png">
<script> var url = {{ assetURL("/images/picture.png") }}; </script>
<script> var url = "https://cdn.shop.com/images/picture.png"; </script>

base64

func base64(s string) string

Codifica s in formato Base64.

capitalize

func capitalize(s string) string

Restituisce una copia di s con la prima lettera della prima parola messa in maiuscolo.

capitalizeAll

func capitalizeAll(s string) string

Restituisce una copia di s con la prima lettera di ogni parola messa in maiuscolo.

func cookie(name string) (string, bool)

Ritorna il valore del cookie con nome name e true. Se il cookie non esiste ritorna una stringa vuota e false.

Esempio

{% var value, ok = cookie("choice") %}
{% if ok %}
  il valore del cookie è {{ value }}
{% else %}
  il cookie non esiste
{% end %}

decimal

func decimal(v Type) Decimal

Ritorna v sotto forma di un valore Decimal. v può avere un qualsiasi tipo intero, float, stringa e Decimal. Va in errore se v non ha uno dei tipi indicati o se ha un tipo stringa e non rappresenta un numero decimale.

hasPrefix

func hasPrefix(s, prefix string) bool

Indica se la stringa s ha il prefisso prefix.

hasSuffix

func hasSuffix(s, suffix string) bool

Indica se la stringa s ha il suffisso suffix.

hex

func hex(s string) string

Restituisce la codifica esadecimale della stringa s.

hmacSHA1

func hmacSHA1(message, key string) string

Ritorna la codifica HMAC, con algoritmo SHA1, del messaggio message utilizzando key come chiave.

hmacSHA256

func hmacSHA256(message, key string) string

Ritorna la codifica HMAC, con algoritmo hmacSHA256, del messaggio message utilizzando key come chiave.

htmlEscape

func htmlEscape(s string) html

Sottopone ad escape s ritornando una valore di tipo html dove i caratteri speciali dell'HTML sono sostituiti, come ad esempio "<" con "&lt;".

index

func index(s, substr string) int

Restituisce l'indice di substr all'interno di s. Se substr non è presente in s la funzione ritorna -1.

Come per la strings.Index della libreria standard di Go, l'indice ritornato è riferito ai bytes e non ai caratteri della stringa s.

indexAny

func indexAny(s, chars string) int

Restituisce l'indice della prima occorrenza in s di uno qualunque dei caratteri di chars.

Come per la strings.Index della libreria standard di Go, l'indice ritornato è riferito ai bytes e non ai caratteri della stringa s.

join

func join(a []string, sep string) string

Concatena le stringhe contenute in a utilizzando il separatore sep.

lastIndex

func lastIndex(s, sep string) int

Restituisce l'indice dell'ultima occorrenza di sep all'interno di s.

Come per la strings.Index della libreria standard di Go, l'indice ritornato è riferito ai bytes e non ai caratteri della stringa s.

len

func len(v Type) int

Restituisce la lunghezza di v in base al suo tipo:

Usare la funzione runeCount per avere la lunghezza di una stringa in rune invece che in byte.

max

func max(x, y int) int

Restituisce il massimo tra x ed y.

md5

func md5(s string) string

Restituisce l'hash MD5 della stringa s.

min

func min(x, y int) int

Restituisce il minimo tra x ed y.

parseDecimal

func parseDecimal(v interface{}) (Decimal, bool)

Ritorna v sotto forma di un valore Decimal e true. v può avere un qualsiasi tipo intero, float, stringa e Decimal. Ritorna il decimale zero e false se v non ha uno dei tipi indicati o se ha un tipo stringa e non rappresenta un numero decimale.

queryEscape

func queryEscape(s string) string

Sottopone ad escape s ritornando una nuova stringa dove i caratteri speciali dei valori di un query string sono sostituiti.

regexp

func regexp(expr string) Regexp

Parsa l'espressione regolare expr e ritorna un valore Regexp che può essere usato per fare ricerche di testo secondo l'espressione data. Si verifica un errore se expr non è una espressione regolare valida.

replace

func replace(s, old, new string, n int) string

Sostituisce le prime n occorrenze della stringa n con la stringa new all'interno di s.

replaceAll

func replaceAll(s, old, new string) string

Sostituisce tutte le occorrenze della stringa old con la stringa new all'interno di s.

reverse

func reverse(slice interface{})

Mette gli elementi di slice in ordine inverso. Se slice non è uno slice allora va in errore.

runeCount

func runeCount(s string) int

Restituisce il numero di rune (Unicode code point) in s. Per contare il numero di "caratteri" in una stringa allora runeCount è la funzione più appropriata in quanto len restituisce il numero di byte.

setCookie

func setCookie(name, value string, maxAge int, httpOnly bool)

Imposta un cookie con nome name e valore value da ritornare negli header della risposta. httpOnly indica se il cookie ha l'attributo "HttpOnly" e maxAge ha il seguente significato:

Se name non è un nome di cookie valido, setCookie non fa nulla.

sha1

func sha1(s string) string

Restituisce l'hash SHA1 di s.

sha256

func sha256(s string) string

Restituisce l'hash SHA256 di s.

snippet

func snippet(name string) Snippet

Ritorna lo snippet con nome name. Il valore ritornato può essere usato direttamente con {{...}}.

{{ snippet("rating") }}

Se lo snippet non esiste, il precedente esempio visualizza un commento HTML con il messaggio di errore.

sort

func sort(slice Type, before func(i, j int) bool)

Ordina gli elementi di slice. Se Slice non è uno slice, sort va in errore.

La funzione before, se non è nil, indica se l'elemento di indice i dovrà essere dopo l'ordinamento prima dell'elemento di indice j. Se la la funzione before è nil, allora sort ordina gli elementi secondo un ordinamento naturale in base al loro tipo.

Esempi

{% var s = []int{3, 5, 2, 9, 7} %}
{{ sort(s, nil) %}
2 3 5 7 9
{% var s = []int{3, 5, 2, 9, 7} %}
{% var before = func(i, j int) int { return s[i] > s[j] }) %}
{{ sort(s, before) }}
9 7 5 3 2

split

func split(s, sep string) []string 

Divide s in sotto-stringhe utilizzando sep come separatore.

splitAfter

func splitAfter(s, sep string) []string 

Come split ma divide s dopo il separatore sep. Ad esempio:

{% for s in splitAfter("<section><div>a</div><div>b</div></section>", ">") %}
{{ s }}
{% end %}
<section>
a</div>
<div>
b</div>
</section>

splitAfterN

func splitAfterN(s, sep string, n int) []string 

Come splitN ma divide s dopo il separatore sep.

splitN

func splitN(s, sep string, n int) []string

Divide s in sotto-stringhe utilizzando sep come separatore, limitando ad n il numero di sotto-stringhe.

sprint

func sprint(a ...interface{}) string

Formatta gli argomenti e restituisce una stringa. Ad esempio:

{% const name, age = "Sherlock Holmes", 60 %}
{{ sprint(name, " is ", age, " years old") }}
Sherlock Holmes is 60 years old

sprint accetta gli stessi argomenti e si comporta come la funzione fmt.Sprint della libreria standard di Go.

sprintf

func sprintf(format string, a ...interface{}) string

Formatta, secondo format, gli argomenti e restituisce una stringa. Ad esempio:

{% const name, age = "Sherlock Holmes", 60 %}
{{ sprintf("%s is %d years old", name, age) }}
Sherlock Holmes is 60 years old

sprintf accetta gli stessi argomenti e si comporta come la funzione fmt.Sprintf della libreria standard di Go.

toKebab

func toKebab(s string) string

Restituisce una copia di s in formato kebab case.

Esempio

{{ toKebab("borderTopColor") }}
border-top-color

toLower

func toLower(s string) string

Restituisce una copia di s con tutti i caratteri minuscoli.

toUpper

func toUpper(s string) string

Restituisce una copia di s con tutti i caratteri maiuscoli.

translate

func translate(key string) html

Restituisce la traduzione, letta dal template, per la data chiave nella lingua corrente. Se la traduzione non esiste ritorna htmlEscape(key).

trim

func trim(s string, cutset string) string

Restituisce una parte della stringa s con tutti i caratteri contenuti in cutset che si trovano all'inizio ed alla fine di s rimossi.

trimLeft

func trimLeft(s string, cutset string) string

Restituisce una parte della stringa s con tutti i caratteri contenuti in cutset all'inizio di s rimossi.

trimPrefix

func trimPrefix(s, prefix string)

Restituisce s senza il prefisso prefix.

trimRight

func trimRight(s string, cutset string) string

Restituisce una parte della stringa s con tutti i caratteri contenuti nel cutset alla fine di s rimossi.

trimSuffix

func trimSuffix(s, suffix string) string

Restituisce s senza il suffisso suffix.

Quanto ti è stata utile questa pagina?

Grazie per averci aiutato a migliorare questa pagina