douyimiao1993 2012-07-27 14:07
浏览 9
已采纳

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

I am new to go and have started playing around with A Tour of Go. I noticed one peculiarity namely that I am allowed to name a function _ but that function can not be called:

import "fmt"

type sel struct {
    s string
}

func _(s string) sel {
    return sel{s}
}

func main() {
    fmt.Println("Hello")
    _("foo") // <-- does not compile
}

If I comment the entire _("foo") line then the program compiles.

My question is what characters are allowed in function names? Is it only alphanumeric characters or can I use $ for instance?

Are the rules for naming other things e.g. structs, interfaces etc. the same as those for functions?

  • 写回答

2条回答 默认 最新

  • dongyao2129 2012-07-27 14:26
    关注

    The spec says that func, var or const name must begin with (unicode_letter or _), and can end with many (unicode_letter, unicode_digit or _).

    unicode_letter can be a Chinese, or Hebrew letter if you'd like it to.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?