2013-01-12 9 views
9

In Vai, v'è alcuna circostanza in cui il breve modulo gettext di:Un modo per assegnare un nome di funzione a "_"?

_("String to be translated.") 

può essere utilizzato? Una di quelle volte in cui sono abbastanza certa che la risposta sia "no", ma nel caso in cui abbia trascurato qualcosa. Sto pensando il meglio che si può ottenere è:

import . "path/to/gettext-package" 
... 
s := gettext("String to be translated.") 

dal sottolineatura ha un significato ben preciso, e il tentativo di definire una funzione denominata '_' genera l'errore in fase di compilazione "non possono utilizzare _ come valore ".

risposta

15

No. Il blank identifier

... non introduce una nuova associazione.

IOW, è possibile dichiarare "cose" denominate _ ma non è possibile fare riferimento ad esse in alcun modo utilizzando tale "nome".

Tuttavia, si può ottenere vicino alla meta:

package main 

import "fmt" 

var p = fmt.Println 

func main() { 
     p("Hello, playground") 
} 

(anche here)

es. puoi associare qualsiasi funzione (locale o importata) a una variabile e in seguito invocare la funzione attraverso quella variabile, eliminando il prefisso del pacchetto - se pensi che sia utile. IMO no, a proposito.

+0

Sì, ha senso. Grazie per averlo confermato. –

Problemi correlati