背景: 在公司刷 leetcode 的时候,为了方便查找,按照一道题一个文件夹区分的,所以 package 名字也就类似 leetcode_51_N 皇后
公司 Linux 环境上这种组织形式是可以编译运行的,但是回家切换到 macOS 上就会出现 malformed import path invalid char:’皇’ 这样的报错。
macOS 和 Linux 都用的 go1.15.7,没打开 go mod 。
有遇到类似情况的哥们儿吗?教教我咋搞,或者提供另一种方式来区分下每道题(强迫症)
1
boris93 2021-01-31 17:17:42 +08:00 via Android
用英文
路径绝对不建议带中文 |
3
jeremaihloo 2021-01-31 17:35:04 +08:00 via Android
其实你可以这个脚本方便查找的,代码注释里面写中文名字。查找的时候就可以用中文了,没必要路径用中文
|
4
fiypig 2021-01-31 17:36:33 +08:00 via iPhone
命名用中文这习惯不好
|
6
DCCooper OP @jeremaihloo 之所以这样做就是想类似于那种小卡片,看一眼就能想起来这道题是啥
|
7
IceBay 2021-01-31 18:33:08 +08:00
那试试额外管理一份软链接?
|
8
MaxLi77 2021-01-31 20:36:29 +08:00
退一步,用拼音也行啊
|
9
dollck 2021-01-31 20:39:21 +08:00 via Android
英语有点堪忧阿,楼主 qwq
|
10
52coder 2021-01-31 20:44:21 +08:00
在公司刷 leetcode 有点胆肥呀,养成良好习惯,用英文,leetcode 上题目标题不是英文吗?
|
11
WebKit 2021-01-31 20:52:28 +08:00 via Android
我用 IDEA 带中文名字是可以的。
|
12
no1xsyzy 2021-01-31 21:02:17 +08:00
去 golang/go 提 issue 啊(
|
13
MrKrabs 2021-01-31 21:24:37 +08:00
居然没人说股沟坏话
|
14
tairan2006 2021-01-31 22:56:38 +08:00
go 官方的包名规范是全小写字母啊。。下划线啥的都不要用
|
15
zeroDev 2021-01-31 23:01:03 +08:00 via Android
也许可能是编码问题?
|
16
DCCooper OP @zeroDev 编码问题应该不存在,同一套代码,我旧的英特尔芯片 MacBookPro 没问题,M1 芯片的跑不了。
|
17
jinliming2 2021-02-01 01:13:59 +08:00 1
看起来与这个 Issue 相关: https://github.com/golang/go/issues/29101
你可以试一试 go 1.16 rc 版。 |
18
djoiwhud 2021-02-01 07:59:57 +08:00 via Android
英语烂的不建议做 it 行业。
|
20
DCCooper OP @jinliming2 十分感谢!
|
21
labulaka521 2021-02-01 08:28:19 +08:00 via iPhone
@tairan2006 下划线可以用吧 测试文件就有下划线
|
22
wszgrcy 2021-02-01 08:42:26 +08:00 via Android 10
我觉得不是楼主的问题,其他人在避重就轻,严格的说这个 bug 出现了,那么就应该解决,而不是找一些理由去回避,虽然这些理由看起来好像合理,但是这毕竟是个问题,那么就应该解决,不要把饭圈的那一套搞过来
|
23
Leigg 2021-02-01 09:03:08 +08:00 via iPhone
这是 mac 上的 bug,提 bug
|
24
yebo777 2021-02-01 09:58:26 +08:00
只看下面的回复还以为是楼主的问题。。。
|
25
Daming 2021-02-01 11:21:06 +08:00 via Android
我就喜欢枚举用中文,直观
|
26
qiaocc 2021-07-26 17:49:42 +08:00
+1, 我也遇到了. 官方还在讨论: https://github.com/golang/go/issues/45549
|
27
yangyile 2022-03-12 22:42:23 +08:00 2
通过修改 go 源码即可解决:
修改代码: /usr/local/go/src/cmd/vendor/golang.org/x/mod/module/module.go 修改函数: func modPathOK(r rune) bool { if r < utf8.RuneSelf { return r == '-' || r == '.' || r == '_' || r == '~' || '0' <= r && r <= '9' || 'A' <= r && r <= 'Z' || 'a' <= r && r <= 'z' } // return false // 修改这里使得包名和路径名支持更大的字符集合,当然也可以限制仅放开中文符号 return true } |
28
dqifree 2022-08-13 16:06:23 +08:00
不知道还有没有人看。亲测。go1.16 不行,换用 go1.13 就支持
|