9

Go では、次の gettext ショートフォームが使用される状況はありますか?

_("String to be translated.")

に使える?答えが「いいえ」であるとかなり確信している場合の 1 つですが、何かを見落とした場合に備えて質問してください。達成できる最善の方法は次のとおりだと思います。

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

アンダースコアには非常に具体的な意味があり、「_」という名前の関数を定義しようとすると、コンパイル時に「_ を値として使用できません」というエラーが発生するためです。

4

1 に答える 1

15

いいえ。空白の識別子

...新しいバインディングは導入されません。

IOW、名前付きの「もの」を宣言することはでき_ますが、その「名前」を使用してそれらを参照することはできません。

ただし、目標に近づくことはできます。

package main

import "fmt"

var p = fmt.Println

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

ここにも)

すなわち。任意の(ローカルまたはインポートされた)関数を変数にバインドし、後でその変数を介して関数を呼び出して、パッケージプレフィックスを削除することができます-それが便利だと思う場合。IMOではありません、ところで。

于 2013-01-12T12:07:43.110 に答える