gpt4 book ai didi

go - 有什么方法可以将函数名别名为 '_' 吗?

转载 作者:IT老高 更新时间:2023-10-28 13:10:10 26 4
gpt4 key购买 nike

在 Go 中,是否存在 gettext 短格式的:

_("String to be translated.")

可以用吗?其中一个我相当确定答案是“不”的时候,但问以防万一我忽略了一些东西。我认为可以达到的最好效果是:

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

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

最佳答案

没有。 blank identifier

... does not introduce a new binding.

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

但是,我们可以接近目标:

package main

import "fmt"

var p = fmt.Println

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

(还有 here )

即。您可以将任何(本地或导入的)函数绑定(bind)到一个变量,然后通过该变量调用该函数,摆脱包前缀 - 如果您认为这很方便。 IMO 不是,顺便说一句。

关于go - 有什么方法可以将函数名别名为 '_' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com