fmt.Printf("请输入开始时间和结束时间。格式: %s startDate=2017-12-07 endDate=2017-12-10", os.Args[0])
期望的输出内容为:
请输入开始时间和结束时间。格式: ./mongo2mysql startDate=2017-12-07 endDate=2017-12-10
但是实际上在 Linux 和 Mac 的终端输出的内容都是:
请输入开始时间和结束时间。格式: ./mongo2mysql startDate=2017-12-07 endDate=2017-12-10%
如何把末尾的百分号去掉?
1
pathletboy 2017-12-07 15:40:51 +08:00
linux 实测没有百分号。
|
2
specita 2017-12-07 15:44:21 +08:00
mac 实测没有百分号
|
3
lululau 2017-12-07 15:45:24 +08:00
用的 zsh
|
4
undeflife 2017-12-07 15:45:47 +08:00
这各百分号是终端显示的换行吧
|
5
hguandl 2017-12-07 15:46:01 +08:00
这个貌似与终端有关,我在用 zsh 时就发现运行程序时如果输出末尾没有新的空行,会打出一个 % 作为提示。你可以尝试用输出重定向 > 将标准输出放到一个文件里,再打开看看是不是还有 %
|
6
rrfeng 2017-12-07 15:46:10 +08:00 via Android
我猜是终端检测到没有换行符所以现实的那个 %
你加个 \n 试试 |
8
lululau 2017-12-07 15:49:32 +08:00
|
9
yonka 2017-12-07 15:54:27 +08:00
这个 % 是你的终端的 prompt。
原因是你这个少输出了个回车,所以输出内容跟新的 prompt 在同一行了。 这里应该是: fmt.Printf("请输入开始时间和结束时间。格式: %s startDate=2017-12-07 endDate=2017-12-10\n", os.Args[0]) |
10
billion OP 确实我有 zsh。可能是这个问题。
|
11
cholerae 2017-12-07 19:44:36 +08:00
...
|
12
timothyye 2017-12-08 08:37:30 +08:00 via Android
哈哈哈
|