vscode调试go程序 怎么接收命令行输入

weixin_38051012 2019-09-20 10:13:21
这几天开始学习go,用vscode做开发工具,在重复书上的例子时,发现很多都是要求接收命令行输入的(os.Stdin)。

虽然可以用go build编译成exe,然后在vscode的终端上面跑,但是这样就没法单步调试了;

想问问大家都是怎么解决这种问题的,还是说都不用vscode ?

...全文
489 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38056873 2019-09-20
  • 打赏
  • 举报
回复
os模块就行 import "os" args := os.Args[1:]
weixin_38063224 2019-09-20
  • 打赏
  • 举报
回复
应该是我没说清楚,预先输入的参数(launch.json)确实可以通过os.Args来获取,但是我遇到的问题是调试的时候要怎么动态接收输入; 比如说用go写了一个加法函数,从os.Stdin接收两个参数进行相加,但是调试的时候vscode不会弹出命令行界面,我要在哪里输入呢?有没有办法像vs2010调试控制台程序一样,在调试的时候弹一个cmd,让我可以输入?
weixin_38109394 2019-09-20
  • 打赏
  • 举报
回复
r := bufio.NewReader(os.Stdin) for { rawLine, _, _ := r.ReadLine() line := string(rawLine) fmt.Println(line) } 能理解么,这是个循环输入,build之后可以弹出执行框的那种
weixin_38116481 2019-09-20
  • 打赏
  • 举报
回复
感谢回复,通过build来生成exe,然后执行exe确实可以解决输入问题,但是这就没法调试了,这正是我所遇到的问题; 有没有能够像vs2010一样能够在调试时进行输入的办法,例如: 1)程序通过vscode调试启动,自动弹出cmd界面接收输入; 2)程序检测到输入,触发断点,可以接着单步调试数据处理逻辑;
weixin_38120906 2019-09-20
  • 打赏
  • 举报
回复
所以最终,你有找到解决没办法输入的问题的方法吗?我也遇到了和你一样的困难

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧