它两次输入输入

我想从中读取一些输入stdin,然后显示它。目前,我正在这样做:


in := bufio.NewReader(os.Stdin);

input, err = in.ReadString('\n');

if err != nil {

    fmt.Println("Error: ", err)

    os.Exit(1)

}

fmt.Printf("This is your", input)

...但是运行此命令并输入一些输入后,它总是显示我的输入两次,如下所示:


This is just a test

This is your This is just a test

反正有删除第一行吗?


MMMHUHU
浏览 238回答 2
2回答

隔江千里

我尚未对该包进行任何尝试,但我想在这种情况下它可能会有所帮助:exp / terminal。具体地,ReadPasword功能单证是:ReadPassword reads a line of input from a terminal without local echo.This is commonly used for inputting passwords and other sensitive data.The slice returned does not include the \n.

慕桂英3389331

我假设您的第一行只是您回显的输入文本?这实际上是流程终端的功能。由于go运行时将Stdin视为任何其他文件,因此您无权直接访问终端属性。但是,您可能可以与CGO和此处介绍的方法一起破解某些东西。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go