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

如何从Go中的用户输入打印出函数中的值

如何从Go中的用户输入打印出函数中的值

Go
哆啦的时光机 2022-06-01 16:21:58
package mainimport (    "bufio"    "fmt"    "os")func Option1() {     fmt.Println("Option1")}func main() {     for true {         fmt.Println("Pleae enter text: ")         reader := bufio.NewReader(os.Stdin)         text, _ := reader.ReadString('\n')         if text == "1" {                Option1()         }      } }因此,我的代码最终将具有多功能示例:option1 option2 等。每次用户键入 1、2、3 等时,我都会尝试执行一个函数,但我的代码不会打印出 Option1 中的任何内容。您的帮助将不胜感激。
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

基本规则是ReadString 读取直到输入中第一次出现 delim,返回一个字符串,其中包含直到并包括分隔符的数据。所以我习惯text = strings.TrimSpace(text)在比较之前对其进行修剪。查看修改后的程序。


package main


import (

    "bufio"

    "fmt"

    "os"

    "strings"

)


func Option1() {

    fmt.Println("Option1")

}

func main() {


    for true {

        fmt.Println("Pleae enter text: ")

        reader := bufio.NewReader(os.Stdin)

        text, _ := reader.ReadString('\n')

        fmt.Println("Length of text,before trimming:", len(text))

        text = strings.TrimSpace(text)

        fmt.Println("Length of text,after trimming:", len(text))

        if text == "1" {

            Option1()

        }


    }

}

输出是


VScode> go run sofstringcompare.go

Pleae enter text: 

1

Length of text,before trimming: 3

Length of text,after trimming: 1

Option1


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

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