在Go中,是否有任何gettext短格式的情况:
_("String to be translated.")
可以用吗?其中一个时刻,我相当肯定答案是“不”,但要求以防万一我忽略了一些事情。我认为可以实现的最好的是:
import . "path/to/gettext-package"
...
s := gettext("String to be translated.")
因为下划线具有非常特定的含义,并且尝试定义名为“_”的函数会导致编译时错误“无法使用_作为值”。
答案 0 :(得分:15)
没有。 blank identifier
...不会引入新的绑定。
IOW,您可以声明名为_
的“事物”,但不能使用该“名称”以任何方式引用它们。
然而,人们可以接近目标:
package main
import "fmt"
var p = fmt.Println
func main() {
p("Hello, playground")
}
(也here)
即。你可以将任何(本地或导入的)函数绑定到一个变量,然后通过该变量调用该函数,摆脱包前缀 - 如果你觉得它很方便。 IMO不是,BTW。