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

Go (golang) 实际上允许在变量名称中使用 unicode 字符吗?

Go (golang) 实际上允许在变量名称中使用 unicode 字符吗?

Go
临摹微笑 2021-11-22 19:42:31
在将 Atom 与 go-plus 包一起使用时,它似乎对我不起作用。很遗憾,因为我正在做很多数学运算,而且我喜欢数学符号。更新:我不认为任何数学符号是深奥的:‖ ⏋∪ 与任何表情符号相比:😀一个是或否的答案并参考官方来源就足以打勾!更新:感谢 elithrar 的回答,我发现“拉丁字母横向点击”ǁ 似乎是我想要的“双垂直线”的完美模拟。
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

Go 支持某些Unicode 类别,如https://golang.org/ref/spec#Identifiers

标识符命名程序实体,例如变量和类型。标识符是一个或多个字母和数字的序列。标识符中的第一个字符必须是字母。

identifier = letter { letter | unicode_digit } .

上述类在规范中定义为:

unicode_letter = /* a Unicode code point classified as "Letter" */ .
unicode_digit  = /* a Unicode code point classified as "Decimal Digit" */ .

在 Unicode 标准 6.3 中,第 4.5 节“通用类别”定义了一组字符类别。Go 将LuLlLtLmLo类别中的字符视为 Unicode 字母,将Nd类别中的字符视为 Unicode 数字。

“简短”的答案是支持某些运算符,具体取决于它们的字符类。更深奥的/专业的不会。


查看完整回答
反对 回复 2021-11-22
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

是的。我已经用日语和英语混合编程了几个月。我项目中的所有类型都是两个字符长。


例子:


type T型 struct{}; //model      (literally: mold/model)

type T示 struct{}; //view       (literally: show      )

type T師 struct{}; //controller (literally: master    )

“干净的代码”的对立面。这个想法是你的大脑更擅长解析简短的变量名。


此外,在创建新的问题域时,变量名称会失控。想象一下,我们正在编写一个新事物。它是磨碎的燕麦与水(一种甜的结晶物质)混合,然后在热箱中热处理 35 分钟。


变量名称:HeatTreatatedMilledOatsWithWaterAndSweetCrystal


是的,我们可以称之为蛋糕。但是还没有人发明蛋糕。


或者我们可以:


//Literally: 食=="Meal". 

//In Code  : 食=="Heat Treated Milled Oats,Water,And Sweet Crystal"

type T食 struct{};


查看完整回答
反对 回复 2021-11-22
?
撒科打诨

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

为什么不 ľubozvučná_slovenčina := 3

有效,尽管它对其他不懂这种语言的程序员不利。


查看完整回答
反对 回复 2021-11-22
  • 3 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

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