为了账号安全,请及时绑定邮箱和手机立即绑定

去 | 从键盘请求数据

去 | 从键盘请求数据

Go
DIEA 2023-02-14 17:35:44
我在 GO 上找不到如何操作request data from the keyboard。或者说,我找到了。但我发现并没有完全奏效。这是代码:fmt.Println("input : ")var command stringfmt.Scanln(&command)最重要的是,我必须得到整行,并且出于某种原因,一个空格将请求分隔开。还删除下一个单词的字母?Python 有一个很酷的东西叫做输入。
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

使用bufio.Scanner一个os.Stdin:


package main


import (

    "bufio"

    "fmt"

    "os"

)


func main() {

    scanner := bufio.NewScanner(os.Stdin)


    readLine := func() (ln string, ok bool) {

        for {

            fmt.Print("? ")

            if ok = scanner.Scan(); !ok {

                break

            }

            if ln = scanner.Text(); ln != "" {

                break

            }

            fmt.Println("You didn't enter any text.")

        }

        return ln, ok

    }


    fmt.Println("Please enter some text at the prompt. Type 'exit' to quit.")

    for ln, ok := readLine(); ok; ln, ok = readLine() {

        fmt.Printf("You entered: %q\n", ln)

        if ln == "exit" {

            break

        }

    }


    if err := scanner.Err(); err != nil {

        panic(err)

    }


    fmt.Println("Goodbye!")


}


查看完整回答
反对 回复 2023-02-14
  • 1 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信