任何方法将函数名称别名为'_'?

时间:2013-01-12 12:05:15

标签: go gettext

在Go中,是否有任何gettext短格式的情况:

_("String to be translated.")

可以用吗?其中一个时刻,我相当肯定答案是“不”,但要求以防万一我忽略了一些事情。我认为可以实现的最好的是:

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

因为下划线具有非常特定的含义,并且尝试定义名为“_”的函数会导致编译时错误“无法使用_作为值”。

1 个答案:

答案 0 :(得分:15)

没有。 blank identifier

  

...不会引入新的绑定。

IOW,您可以声明名为_的“事物”,但不能使用该“名称”以任何方式引用它们。

然而,人们可以接近目标:

package main

import "fmt"

var p = fmt.Println

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

(也here

即。你可以将任何(本地或导入的)函数绑定到一个变量,然后通过该变量调用该函数,摆脱包前缀 - 如果你觉得它很方便。 IMO不是,BTW。