为了账号安全,请及时绑定邮箱和手机立即绑定

函数/结构/接口名称中允许使用哪些字符?

函数/结构/接口名称中允许使用哪些字符?

Go
慕田峪9158850 2021-05-01 22:25:08
我是新手,已经开始玩A Tour of Go了。我注意到一个特殊之处,就是我可以命名一个函数,_但是不能调用该函数:import "fmt"type sel struct {    s string}func _(s string) sel {    return sel{s}}func main() {    fmt.Println("Hello")    _("foo") // <-- does not compile}如果我注释了整_("foo")行,则程序将编译。我的问题是函数名称中允许使用哪些字符?仅仅是字母数字字符还是我可以使用$?命名其他事物(例如结构,接口等)的规则是否与函数的规则相同?
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

规范指出,FUNC,var或const名称必须与(开头unicode_letter_),并且可以用任何(结束unicode_letterunicode_digit_)。

unicode_letter 可以是中文,也可以是希伯来字母。


查看完整回答
反对 回复 2021-05-17
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

规格

下划线字符_表示的空白标识符可以像其他标识符一样在声明中使用,但该声明不会引入新的绑定。

这就解释了为什么代码有效但您无法调用被调用的函数的原因 _

_当您要分配变量但忽略它时,在Go中使用。调用函数_的功能相同-您已定义它,但编译器将忽略它。


查看完整回答
反对 回复 2021-05-17
  • 2 回答
  • 0 关注
  • 237 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信