登录
首页 >  Golang >  Go问答

调试 fmt.Scanln 的疑难解答

来源:stackoverflow

时间:2024-03-02 12:42:24 256浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《调试 fmt.Scanln 的疑难解答》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我想调试一个非常简单的 go 程序(只是为了看看 vscode 是否/如何工作)

这是我到目前为止的源代码:

package main

import (
    "fmt"
)

func main() {
    fmt.printf("please enter your name\n>>")
    name := "" //«breakpoint on this line»
    fmt.scanln(&name)
    fmt.println("welcome to my awesome program, " + name + "!")
}

当我开始调试时,一切都很顺利,直到我点击下一行的“跳过”按钮(fmt.scanln(&name))。

我的局部变量从列表中消失,我无法再点击“step”按钮(只能暂停,什么也不做,重新启动并停止),如果我尝试在调试控制台中输入某些内容,则什么也不会发生。然后当我停止调试时,它告诉我

«whatever I entered»
*not available*

你知道我的错误可能是什么吗?任何帮助将不胜感激。


解决方案


在我的 macbook 上,我必须将其添加到 launch.json

"console": "integratedTerminal"

如果没有这个“控制台”选项,vscode 将挂在 fmt.scanln()

详情请参阅https://github.com/golang/vscode-go/blob/master/docs/debugging.md

到这里,我们也就讲完了《调试 fmt.Scanln 的疑难解答》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>