今天下午抽空想学学 go 语言,照着菜鸟教程写个 hello world 编译报错,研究了一下是因为模块导出的方法名必须大写字母开头
用过 go 语言的肯定不会犯这个错,但是我在想,如果 go 语言这样设计,不就只能用英语编程了?
我就特别喜欢给方法名函数名类型名属性名取中文😳
1
hand515 2018-01-27 16:02:31 +08:00
规范里已经写明了
|
2
tomine 2018-01-27 16:03:03 +08:00 via Android 1
易语言欢迎你
|
3
legendlzy 2018-01-27 16:05:19 +08:00
你这个命名。。。真的不会被喷吗。。。
|
4
6diyipi 2018-01-27 16:11:22 +08:00 6
这行不适合你。
|
5
gbin 2018-01-27 16:12:41 +08:00 via Android
中文命名,很少见。
|
6
bramblex 2018-01-27 16:13:54 +08:00 2
go 怎么可能有坑,楼主觉得有坑肯定是楼主信仰不够坚定,是要下火狱的。
小心 go 厨把楼主抓起来处以石刑。(手动斜眼笑 |
7
zsj950618 2018-01-27 16:14:41 +08:00
前排花生瓜子凉茶
|
8
lepig 2018-01-27 16:17:30 +08:00
楼主 去搞个 cgo 语言出来
|
9
xuyl 2018-01-27 16:29:02 +08:00
你去用易语言吧。
|
10
sanjusss 2018-01-27 16:44:08 +08:00 1
上面的都没用过 C#吗? C#的属性名可以是中文的。
|
11
yyfearth 2018-01-27 16:46:58 +08:00 via iPhone
谁说只能是英文 只要是大写字母就可以吧
不能中文 但是可以用拼音呀 嘻嘻 |
12
boboliu 2018-01-27 16:47:29 +08:00 via Android 1
@sanjusss 但是不管是 c#还是 go (其实 c 艹也支持 u8 命名的),甚至是 py/js,你敢写中文的话,自己玩还好,公司项目一般要被同事骂,开源项目就是被社区吐槽。易语言习语言另说
|
13
hand515 2018-01-27 16:50:32 +08:00
中文编程,切换输入法不累吗
|
14
didi2050 2018-01-27 16:55:20 +08:00
你适合用图形化编程
|
15
southsala 2018-01-27 16:58:02 +08:00
楼主之前用易语言玩外挂的吧
|
16
jadeity 2018-01-27 17:12:05 +08:00
楼主重新定义了“坑”?
|
17
we000 2018-01-27 17:18:17 +08:00
???
|
18
Kisesy 2018-01-27 17:20:01 +08:00 2
https://github.com/golang/go/issues/16033 Go2 应该会解决这个问题
|
19
hst001 2018-01-27 17:45:40 +08:00 via Android
认真想一下,这确实是一个问题。
|
20
Paddington 2018-01-27 18:28:27 +08:00
我来看看道友怎么说
|
22
az422 2018-01-27 19:07:29 +08:00 via Android
下一个坑:json 结构体的字段名需要大写才能被解析 /doge
|
23
darluc 2018-01-27 19:51:08 +08:00
看来是时候重新发明一下键盘了
|
24
fengh0409 2018-01-27 19:58:48 +08:00
你转行吧
|
25
1762628386 2018-01-27 22:07:06 +08:00
转行吧
|
26
Mitt 2018-01-27 23:02:39 +08:00
怎么就转行了。。 虽然用中文比较受歧视 但不代表存在没有意义, 连 C++都可以中文为什么 Go 就要例外,而且官方态度也是接受这个提议
|
27
blless 2018-01-27 23:43:21 +08:00 via iPhone
我当时还特意测试了一下 反正中文变量没啥问题。不能中文都是以前语言对 unicode 不完整留下的坑
|
28
whx20202 2018-01-27 23:55:14 +08:00
我怎么记得 java 也可以中文函数名呢
|
29
muziki 2018-01-28 00:00:05 +08:00 via iPhone
建议上面那些让人转行的卫道士去 repo 相关 issue 展示一下强国人士的“强势”嘴脸
|
30
loading 2018-01-28 07:55:13 +08:00 via Android
建议楼主基于 go 语言创新一些有自主知识产权的 狗语言 出来。
如果然后对应的是,第一个字母是动物。 |
31
chai2010 2018-01-28 08:15:12 +08:00 via iPhone
一直都可以用中文。只是目前的 Go 规范是以大写 unicode 字母开头的是导出的名字,而中文没有大小写区别。最大的影响是对 json 或数据库字段不好直接用中文。虽然特殊场景略有不变,但也不是什么严重的问题。拿 cplusplus 来论证就没有必要了,因为两者都看不上对方。好在官方也有改动的意愿,期待 2020 年的 Go2 吧
|
32
boboliu 2018-01-28 09:32:42 +08:00
回应一下 append:
> 如果你的项目使用中文注释,那么就可以使用中文变量,更容易看懂 & 变量的本来就是给人看的,当然是越容易看懂越好 这逻辑我没法回应。。。好像挺对的 > 而且写中文注释不用切输入法吗? 要知道变量的使用频率是很高的,而且短(通常而言,Java 闭嘴),因此带来的情况就会变得很尴尬,比如 for 键,值 := range 文件们 输入起来绝对够酸爽。而注释一般是较大段地进行,不需要考虑符号问题。当然如果你把输入法设置成英文符号就没有问题了,但那样又可能被社交圈中的“文化自信”群体怼。 > 而且有一些比较本土化的项目,很多名词甚至无法使用英文 这就是很多人用拼音的理由?事实上我还真没见过太多不能用英文的,如果因为几个词而整个代码中英文变量名横行那可就难受了,如果全中文那就更 tm 难受了。 |
33
mengzhuo 2018-01-28 09:51:43 +08:00 via iPhone
反正谁敢在我项目组里,用中文变量直接劝退
|
34
lolizeppelin 2018-01-28 09:58:33 +08:00 via Android
用中文补全很麻烦吧?
|
35
Cbdy OP @boboliu 我提到注释用中文,变量即可用中文主要是说明中文变量在一些非国际化项目中是可用的
大多数项目英文 okay,然而确实有的项目英文表达能力是力有未逮的,比如《西游记》背景的游戏,场景人物当然可以翻成英文(参考《 Journey to the west 》),但是维护性就堪忧了 |
36
Cbdy OP @lolizeppelin jb 家的 ide 中英文补全是一视同仁的,(将来)甚至可以开发出根据拼音补全中文
|
37
lrz0lrz 2018-01-28 10:32:46 +08:00 3
很好奇 Go 官方都表示支持了,为什么楼上一堆人却冷嘲热讽?
有没有和用不用是两码事,你不需要可以不用,但别人可能需要。 |
38
XIVN1987 2018-01-28 10:49:04 +08:00
所以我觉得,还是下划线起始的标识符 private 这种设定比较好,,Go 现在这个大小写区分感觉不友好
|
39
wzxlovesy 2018-01-28 14:45:31 +08:00
GO 不需要你,你不需要 GO
|
40
rainbowtrash2333 2018-01-28 14:54:24 +08:00 via Android
@yyfearth 作为南方人,我宁愿用英语也不用拼音,‘ n ’ ‘ l ’ 分不清啊
|
41
wq67200976 2018-01-28 21:17:43 +08:00
兄弟你这样会被喷啊
|
42
lolizeppelin 2018-01-29 01:38:26 +08:00 via Android
|
43
aksoft 2018-01-29 09:12:49 +08:00
我挺你 中文变量名确实有意思。。。
|
44
atcdef 2018-01-29 11:26:42 +08:00 2
从内心来说,我也想用中文变量名,但问题在于 IDE 支持不好,所以输入麻烦,易语言用中文,是因为 IDE 支持得好,可以输入中文首拼实现中文变量名自动上屏。我专门下载了易语言试了,输入中文确实方便。
所以,现在我还是用的字母做变量名,期待有人搞插件实现中文变量名首拼上屏的功能。 |
45
not4jerk 2018-01-29 12:22:04 +08:00
我觉得 golang 很坑,不过没有办法. 所以我用算盘写代码,楼主遇到的坑我完美的跳过了
|